:root{--ink: #262421;--ink-soft: #6b6660;--paper: #faf8f5;--card: #ffffff;--line: #e4e0d8;--accent: #6b5a45;--accent-soft: #ede7dc;--field-bg: #eaf1fb;--card-tint: #f1ece2;font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}html{overflow-x:hidden;max-width:100%}body{margin:0;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;overflow-x:hidden;max-width:100%}.app-header,.app-body{min-width:0;max-width:100%}.app-header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0}.app-body{flex:1;min-height:0;display:flex;flex-direction:column}.app-header-title{position:relative;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.app-header-title .dropdown-menu{position:static}.app-header-actions{display:flex;align-items:center;gap:12px}.app-header h1{font-size:20px;font-weight:600;margin:0}.app-header .subtitle{color:var(--ink-soft);font-size:14px}.dropdown-menu{position:relative}.dropdown-panel{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0000001f;overflow:hidden;z-index:20}.dropdown-status{padding:10px 14px;font-size:13px;color:var(--ink-soft)}.dropdown-section-label{padding:6px 14px;font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--line);background:var(--paper);cursor:default}.backup-download-error{color:#dc143c;border-top:1px solid var(--line)}.dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:8px 14px;background:none;border:none;border-top:1px solid var(--line);cursor:pointer;font:inherit;font-size:13px;color:inherit;text-decoration:none}.dropdown-item:first-child{border-top:none}.dropdown-item:hover{background:var(--accent-soft)}.dropdown-group-start{margin-top:6px}.dropdown-item.active{background:var(--accent-soft);color:var(--accent);border-left:3px solid var(--accent);padding-left:11px}.dropdown-item-name{font-weight:600;font-size:14px}.dropdown-item-detail{display:block;color:var(--ink-soft);font-size:12px}.dropdown-item-action{color:var(--accent);font-weight:600;justify-content:flex-start}.dropdown-item-indent{padding-left:26px}.dropdown-item-danger{color:#a3372e;justify-content:flex-start}.dropdown-item-danger:hover{background:#fbeceb}.app-header-switch{font:inherit;font-size:13px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0}.app-header-switch:hover{text-decoration:underline}.header-search{position:relative;width:260px;max-width:60vw;min-width:0}.header-search-input{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--card);color:var(--ink)}.header-search-input:focus{outline:2px solid var(--accent);outline-offset:1px}.header-search-dropdown{top:calc(100% + 6px);right:0;width:320px;max-width:90vw}.header-search-status{padding:12px 14px;font-size:13px;color:var(--ink-soft)}.header-search-result{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 14px;background:none;border:none;border-top:1px solid var(--line);cursor:pointer;font:inherit;color:inherit}.header-search-result:first-child{border-top:none}.header-search-result:hover{background:var(--accent-soft)}.header-search-result .avatar{width:32px;height:32px;font-size:12px}.header-search-name{display:block;font-weight:600;font-size:14px}.header-search-dates{display:block;color:var(--ink-soft);font-size:12px}.header-search-parents{display:block;color:var(--ink-soft);font-size:11px;font-style:italic}.header-search-more{display:block;width:100%;text-align:center;padding:10px 14px;background:var(--paper);border:none;border-top:1px solid var(--line);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}.header-search-more:hover{background:var(--accent-soft)}.tree-switcher-dropdown{top:calc(100% + 6px);left:0;width:260px;max-width:90vw}.export-mask-prompt{padding:10px 14px 12px;border-top:1px solid var(--line);background:var(--paper)}.export-mask-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;margin-bottom:4px}.export-mask-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#26242159;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:100}.picker-box{background:var(--card);border-radius:12px;box-shadow:0 16px 48px #00000040;width:420px;max-width:92vw;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.picker-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-weight:600;font-size:15px;border-bottom:1px solid var(--line)}.picker-close{background:none;border:none;font-size:20px;line-height:1;cursor:pointer;color:var(--ink-soft);padding:0 4px}.picker-close:hover{color:var(--ink)}.picker-input{margin:12px 16px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--card);color:var(--ink)}.picker-input:focus{outline:2px solid var(--accent);outline-offset:1px}.picker-error{margin:0 16px 8px;color:#a3372e;font-size:13px}.picker-results{overflow-y:auto;flex:1;min-height:0;border-top:1px solid var(--line)}.picker-result{padding:8px 16px}.picker-create{border-top:1px solid var(--line);padding:12px 16px}.picker-create-row{display:flex;gap:8px;align-items:center}.picker-create-btn{flex:1;text-align:left;padding:8px 12px;border:1px dashed var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:13px;cursor:pointer}.picker-create-btn:hover:not(:disabled){background:var(--accent);color:var(--card)}.picker-create-btn:disabled{opacity:.5;cursor:default}.picker-create-row select{padding:7px 8px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--card);color:var(--ink)}.picker-create-hint{margin-top:8px;font-size:12px;color:var(--ink-soft);font-style:italic}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#262421b3;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;z-index:100}.lightbox-box{background:var(--card);border-radius:12px;box-shadow:0 16px 48px #00000059;max-width:94vw;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-weight:600;font-size:14px;border-bottom:1px solid var(--line)}.lightbox-original-name{font-weight:400;font-size:12px;color:var(--ink-soft)}.lightbox-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.lightbox-tags-toggle{padding:4px 10px;border:1px solid var(--line);border-radius:14px;background:var(--card-tint);color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.lightbox-tags-toggle:hover{border-color:var(--accent);color:var(--accent)}.lightbox-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;background:#111;align-self:center}.lightbox-image-wrap img{max-width:88vw;max-height:70vh;display:block;-webkit-user-select:none;user-select:none}.face-tag-box{position:absolute;border:2px solid var(--accent);border-radius:4px;background:#0000000d;cursor:pointer}.face-tag-box-active{border-color:#fff;box-shadow:0 0 0 2px var(--accent);cursor:move}.face-tag-handle{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;background:#fff;border:2px solid var(--accent);border-radius:50%;touch-action:none}.face-tag-handle-nw{left:0;top:0;cursor:nwse-resize}.face-tag-handle-ne{left:100%;top:0;cursor:nesw-resize}.face-tag-handle-sw{left:0;top:100%;cursor:nesw-resize}.face-tag-handle-se{left:100%;top:100%;cursor:nwse-resize}.face-tag-box-draft{border-style:dashed;cursor:default;pointer-events:none}.face-tag-box-unknown{border-style:dashed;border-color:var(--ink-soft)}.face-tag-box-unknown .face-tag-label{background:var(--ink-soft);font-style:italic}.face-tag-label{position:absolute;bottom:-1px;left:-2px;transform:translateY(100%);background:var(--accent);color:var(--card);font-size:11px;padding:2px 6px;border-radius:0 0 4px 4px;white-space:nowrap;pointer-events:none}.face-tag-menu{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--line);font-size:13px}.face-tag-menu span{font-weight:600;margin-right:auto}.face-tag-choice-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:10px;background:var(--card);box-shadow:0 8px 30px #00000040;min-width:200px}.face-tag-choice-menu button{padding:8px 14px;border:none;border-radius:6px;background:none;color:var(--ink);font-size:13px;text-align:left;cursor:pointer}.face-tag-choice-menu button:hover{background:var(--accent-soft)}.citation-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#26242159;display:flex;align-items:flex-end;justify-content:center;padding-bottom:24px;z-index:100}.citation-drawer{background:var(--card);border-radius:16px;box-shadow:0 -8px 32px #00000040;width:100%;max-width:520px;max-height:75vh;display:flex;flex-direction:column;overflow:hidden;animation:citation-drawer-up .18s ease-out}@keyframes citation-drawer-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.citation-drawer-header{display:flex;align-items:center;padding:14px 16px;font-weight:600;font-size:15px;border-bottom:1px solid var(--line);flex-shrink:0}.citation-drawer-empty{padding:4px 16px 16px;color:var(--ink-soft);font-size:13px;font-style:italic}.citation-drawer-footer{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);flex-shrink:0}.citation-list{list-style:none;margin:0;padding:0;overflow-y:auto}.citation-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}.citation-source-title{font-weight:600;font-size:13px}.citation-source-detail{color:var(--ink-soft);font-size:12px;margin-top:1px}.citation-page{color:var(--ink-soft);font-size:12px;margin-top:3px}.citation-text{color:var(--ink-soft);font-size:12px;font-style:italic;margin-top:3px}.citation-remove-btn{width:22px;height:22px;flex-shrink:0;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.citation-remove-btn:hover:not(:disabled){background:#fbeceb;color:#c0392b;border-color:#c0392b}.citation-drawer>.fv-add-link-active{margin:12px 16px}.citation-add-form{padding:12px 16px 16px;border-top:1px solid var(--line);overflow-y:auto}.citation-add-form input.picker-input{width:calc(100% - 32px);box-sizing:border-box}.citation-new-source,.citation-fields{display:flex;flex-direction:column;gap:8px;margin-top:10px}.citation-new-source input,.citation-fields input,.citation-fields select{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--card);color:var(--ink)}.citation-fields textarea{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--card);color:var(--ink);min-height:56px;font:inherit;resize:vertical}.citation-selected-source{display:flex;align-items:center;gap:10px;font-size:13px;margin-top:10px}.citation-add-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.btn-secondary{padding:9px 20px;border-radius:8px;border:1px solid var(--line);background:var(--accent-soft);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;display:inline-block;text-decoration:none;white-space:nowrap}.btn-secondary:hover:not(:disabled){background:#e4dbc8}.btn-secondary:disabled{background:var(--line);color:var(--ink-soft);cursor:default}.btn-primary{padding:9px 20px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:inline-block;text-decoration:none;white-space:nowrap}.btn-primary:disabled{background:var(--line);color:var(--ink-soft);cursor:default}.citation-indicator{width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;background:var(--card);border:1.5px solid var(--ink-soft);flex-shrink:0}.citation-indicator:hover{border-color:var(--accent)}.citation-indicator-filled{background:var(--accent);border-color:var(--accent)}.account-menu-trigger{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--accent-soft);color:var(--accent);font-size:14px;font-weight:600;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.account-menu-dropdown{top:calc(100% + 6px);right:0;width:220px;max-width:90vw}.pref-section{border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:16px;background:var(--paper)}.pref-section h3{margin:0 0 8px;font-size:14px}.pref-hint{color:var(--ink-soft);font-size:13px;margin:0 0 12px}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px}.pref-row select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--card);color:var(--ink)}.pref-row input[type=color]{width:44px;height:30px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--card);cursor:pointer}.pref-row-disabled{color:var(--ink-soft)}.recovery-code-box{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:20px;letter-spacing:.04em;text-align:center;-webkit-user-select:all;user-select:all;padding:14px 16px;margin:16px 0;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.recovery-code-warning{color:#dc143c;font-size:13px}.pref-reset{margin-top:4px;background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;padding:0}.pref-reset:hover{text-decoration:underline}.anc-view{padding:20px 24px 60px}.anc-crumbs{font-size:12px;margin-bottom:6px}.anc-crumb-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer}.anc-crumb-link:hover{text-decoration:underline}.anc-crumb-current{color:var(--ink);font-weight:600}.anc-crumb-sep{margin:0 6px;color:var(--ink-soft)}.anc-chart{position:relative;overflow-x:auto;margin-top:12px}.anc-connectors{position:absolute;left:0;top:0;pointer-events:none}.anc-connectors line{stroke:#b3a88f;stroke-width:1.5}.anc-card{position:absolute;width:180px;height:52px;padding:7px 12px;box-sizing:border-box;border-radius:8px;border:1px solid var(--line);background:var(--card-tint);display:flex;flex-direction:column;justify-content:center;text-decoration:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.anc-card.self{border-color:var(--accent);background:var(--accent-soft);cursor:default}.anc-card.self .anc-card-name{font-weight:700}.anc-card.edge{border-style:dashed;border-color:#b9ae95}.anc-card-name{font-weight:600;font-size:13px;line-height:1.25}.anc-card-dates{color:var(--ink-soft);font-size:12px;margin-top:1px}.anc-card-id{color:var(--ink-soft);font-weight:400;font-size:11px}.anc-edge-badge{position:absolute;right:-9px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--card);border:1px solid #b9ae95;display:flex;align-items:center;justify-content:center}.container{max-width:900px;margin:0 auto;padding:20px 16px 60px;width:100%;min-width:0}.search-box{width:100%;padding:12px 14px;font-size:16px;border:1px solid var(--line);border-radius:10px;background:var(--card);margin-bottom:16px}.search-box:focus{outline:2px solid var(--accent);outline-offset:1px}.app-header-new-person{font:inherit;font-size:13px;font-weight:600;padding:6px 12px;white-space:nowrap;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--accent);cursor:pointer}.app-header-new-person:hover{background:var(--accent);color:var(--card)}.result-count{color:var(--ink-soft);font-size:13px;margin-bottom:12px}.tree-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.tree-picker-header h2{margin:0}.tree-picker-new{font-size:14px;font-weight:600;color:var(--accent);text-decoration:none;padding:8px 14px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft)}.tree-picker-new:hover{background:var(--accent);color:#fff}.person-list{display:flex;flex-direction:column;gap:8px}.person-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink)}.person-row:active{background:var(--accent-soft)}.avatar{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--accent);font-weight:600;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.person-name{font-weight:600;font-size:15px}.person-dates{color:var(--ink-soft);font-size:13px;margin-top:2px}.person-parents{color:var(--ink-soft);font-size:12px;margin-top:2px;font-style:italic}.pagination{display:flex;justify-content:center;gap:12px;margin-top:20px}.pagination button{padding:8px 16px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:14px;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:default}.back-link{display:inline-block;margin-bottom:16px;color:var(--accent);text-decoration:none;font-size:14px;background:none;border:none;padding:0;font-family:inherit;cursor:pointer}.detail-header{display:flex;gap:20px;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap}.detail-name{font-size:26px;font-weight:700;margin:0 0 4px}.detail-dates{color:var(--ink-soft);font-size:15px}.section{margin-bottom:28px}.section h2{font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:10px}.event-row{padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:16px}.event-type{width:90px;flex-shrink:0;font-weight:600;font-size:13px;text-transform:capitalize}.event-detail{font-size:14px;color:var(--ink-soft)}.family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.family-card{padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink);font-size:14px}.family-role{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em}@media (max-width: 480px){.container{padding:16px 12px 40px}}.focus-view{display:flex;flex-direction:column;height:100%}.fv-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.fv-topbar .back-link{margin-bottom:0}.fv-save-row .back-link{margin-bottom:0;margin-left:auto}.fv-readonly-badge{font-size:12px;color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:999px}.fv-status{padding:40px}.fv-panes{flex:1;display:flex;overflow:hidden}.focus-left,.focus-right{overflow-y:auto;padding:18px 20px 40px}.focus-left{flex:1 1 55%;border-right:1px solid var(--line)}.focus-right{flex:1 1 45%;max-width:640px;background:var(--card)}.pv-toggle{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 20px;flex-shrink:0}.pv-toggle-btn{padding:10px 16px;font-size:14px;font-weight:600;border:none;background:none;border-bottom:2px solid transparent;color:var(--ink-soft);cursor:pointer}.pv-toggle-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.pv-solo .focus-left,.pv-solo .focus-right{border-right:none;max-width:none;flex:1 1 auto}.fv-left-header{margin-bottom:14px}.fv-left-name{font-size:20px;font-weight:700}.fv-left-dates{color:var(--ink-soft);font-size:13px;margin-top:2px}.fv-thumb-strip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.fv-thumb-strip-limited{max-width:420px}.fv-media-item{display:flex;flex-direction:column;align-items:center;gap:4px;width:76px;flex-shrink:0;text-decoration:none;color:inherit}.fv-media-item-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;width:76px;flex-shrink:0}.fv-media-item-wrap .fv-media-item{width:100%}.fv-media-caption{font-size:10px;color:var(--ink-soft);text-align:center;width:100%}.fv-also-tagged-heading{color:var(--ink-soft);font-size:12px;font-style:italic;margin:4px 0 6px}.fv-media-item>a,.fv-media-item>.fv-media-open{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;text-decoration:none;color:inherit}.fv-media-open{background:none;border:none;padding:0;font:inherit;cursor:pointer}.fv-media-item img{width:72px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.fv-media-icon{width:72px;height:72px;border-radius:6px;border:1px solid var(--line);background:var(--card-tint);display:flex;align-items:center;justify-content:center;font-size:28px}.fv-media-name{font-size:10px;color:var(--ink-soft);text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fv-media-controls{display:flex;gap:6px}.fv-media-controls button{width:20px;height:20px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.fv-media-controls button:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.fv-media-controls .fv-media-delete-forever:hover{background:#fdecea;color:#c0392b;border-color:#c0392b}.fv-media-add{cursor:pointer}.fv-media-add-icon{font-size:24px;color:var(--ink-soft);border-style:dashed;background:none}@media (max-width: 767px){.fv-media-item{width:92px}.fv-media-item img,.fv-media-icon{width:88px;height:88px}.fv-media-controls{gap:4px}.fv-media-controls button{width:28px;height:28px;font-size:14px}}@media (max-width: 767px){input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],input[type=date],textarea,select{font-size:16px}}@media (max-width: 767px){.app-header-actions{width:100%;justify-content:flex-end}.header-search{flex-grow:1}}@media (max-width: 767px){.header-search-dropdown{left:0;right:auto;max-width:calc(100vw - 48px)}}.fv-media-add:hover .fv-media-add-icon{border-color:var(--accent);color:var(--accent)}.fv-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}.fv-tab{padding:8px 14px;font-size:13px;border:none;background:none;border-bottom:2px solid transparent;color:var(--ink-soft);cursor:pointer;text-decoration:none;display:inline-block}.fv-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.fv-tab:disabled{color:#c7c1b6;cursor:not-allowed}.fv-parent-row{display:flex;gap:10px;margin-bottom:14px}.fv-parent-col{flex:1;display:flex;gap:10px;flex-wrap:wrap}.fv-parent-card{text-align:left;padding:8px 12px;background:var(--card-tint);border:1px solid var(--line);border-radius:8px;cursor:pointer;font:inherit;color:inherit;min-width:160px}.fv-parent-name{font-weight:600;font-size:13px}.fv-parent-dates{color:var(--ink-soft);font-size:12px}.fv-family-tabs{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.fv-family-tab{padding:4px 10px;font-size:12px;border:1px solid var(--line);background:var(--card-tint);border-radius:999px;cursor:pointer;color:var(--ink-soft)}.fv-family-tab.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}.fv-family-tabs-inline{display:inline-flex;gap:2px;margin-left:8px}.fv-family-tabs-inline .fv-family-tab,.fv-family-tabs-inline .fv-add-spouse{padding:6px 12px;font-size:12px;border:none;border-radius:0;background:none;border-bottom:2px solid transparent;color:var(--ink-soft)}.fv-family-tabs-inline .fv-family-tab.active{background:none;border-color:var(--accent);color:var(--accent);font-weight:600}.fv-family-tabs-inline .fv-add-spouse{width:auto;height:auto}.fv-couple-card{display:flex;gap:10px;margin-bottom:10px}.fv-couple-box{flex:1;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card-tint);text-align:left;font:inherit;color:inherit;cursor:default}.fv-couple-self{border-color:var(--accent);background:var(--accent-soft)}.fv-couple-spouse{cursor:pointer}.fv-couple-spouse:hover{border-color:var(--accent)}.fv-couple-empty{color:var(--ink-soft);display:flex;align-items:center;justify-content:center}.fv-couple-add{cursor:pointer;color:var(--accent);font-weight:600;font-size:13px;border-style:dashed}.fv-couple-add:hover{border-color:var(--accent);background:var(--accent-soft)}.fv-couple-name{font-weight:700;font-size:15px;margin-bottom:4px}.fv-couple-detail{font-size:12px;color:var(--ink-soft)}.fv-married-line{font-size:13px;color:var(--ink-soft);margin-bottom:14px}.fv-children-table{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:10px}.fv-children-header,.fv-child-row{display:grid;grid-template-columns:1fr 50px 110px 110px;gap:8px;padding:8px 12px;font-size:13px;align-items:center}.fv-children-header{background:var(--accent-soft);font-weight:600;color:var(--ink-soft);font-size:12px}.fv-child-row{width:100%;text-align:left;background:var(--card-tint);border:none;border-top:1px solid var(--line);cursor:pointer;font:inherit;color:inherit}.fv-child-row:hover{background:var(--accent-soft)}.fv-child-name{font-weight:600}.fv-child-row-self{background:var(--accent-soft);cursor:default}.fv-child-row-self .fv-child-name{color:var(--accent)}.fv-add-link{padding:8px 12px;font-size:13px;color:var(--ink-soft);cursor:not-allowed}.fv-add-link-active{color:var(--accent);cursor:pointer;background:none;border:none;font:inherit;text-align:left}.fv-add-link-active:hover{text-decoration:underline}.fv-child-row-outer{display:flex;align-items:stretch;border-top:1px solid var(--line)}.fv-child-row-outer .fv-child-row{flex:1;width:auto;border-top:none}.fv-reorder-btns{display:flex;flex-direction:column;background:var(--card-tint)}.fv-reorder-btns button{border:none;background:none;font-size:9px;line-height:1;padding:3px 6px;cursor:pointer;color:var(--ink-soft)}.fv-reorder-btns button:hover:not(:disabled){color:var(--accent)}.fv-reorder-btns button:disabled{opacity:.25;cursor:default}.fv-family-tab-wrap{display:inline-flex;align-items:center}.fv-family-tab-wrap .fv-reorder-btns{flex-direction:row;background:none}.fv-unlink-parents{display:block;margin-bottom:10px;font-size:12px}.fv-right-header{font-weight:600;font-size:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.fv-delete-person{font-weight:500;font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer}.fv-delete-person:hover:not(:disabled){background:#fbeceb;border-color:#d98f88;color:#a3372e}.fv-delete-person:disabled{opacity:.6;cursor:default}.fv-form-section{border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:16px;background:var(--paper)}.fv-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.fv-row-stacked{flex-direction:column;align-items:stretch}.fv-row-stacked .fv-label{margin-bottom:2px}.fv-row-stacked .fv-label-inline{margin-left:0;margin-top:8px}.fv-row-stacked .fv-in{align-self:flex-start}.fv-row-stacked .fv-date,.fv-row-stacked .fv-place,.fv-row-stacked .fv-name-input,.fv-row-stacked .fv-occupation-input,.fv-row-stacked input[type=text],.fv-row-stacked select{width:100%;min-width:0;font-size:16px}.fv-label{font-size:13px;color:var(--ink-soft);min-width:60px;flex-shrink:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--field-bg)}.fv-label-inline{margin-left:12px;min-width:auto}.fv-in{font-size:12px;color:var(--ink-soft);padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--field-bg)}.fv-row input[type=text],.fv-row select,.fv-note-row textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--card);color:var(--ink)}.fv-name-input{flex:1;min-width:160px}.fv-date{width:130px}.fv-place{flex:1;min-width:140px}.fv-occupation-input{flex:1;min-width:120px}.fv-note-row textarea{flex:1 1 auto;min-height:56px;font:inherit;resize:vertical;width:100%;box-sizing:border-box}.note-editor{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.frontpage-section-editor textarea{min-height:220px;resize:vertical;font:inherit;width:100%;box-sizing:border-box}.frontpage-section-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.frontpage-section-title{flex:1 1 160px;min-width:0}.frontpage-section-actions{display:flex;gap:8px;flex-shrink:0}.frontpage-image-upload{display:inline-block;margin-top:8px;font-size:13px;color:var(--accent);cursor:pointer}.frontpage-image-upload:hover{text-decoration:underline}.note-editor-toolbar{display:flex;gap:4px}.note-editor-toolbar button{width:26px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);font-size:13px;cursor:pointer;line-height:1}.note-editor-toolbar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.note-editor-toolbar button:disabled{opacity:.5;cursor:default}.fv-more-link{display:inline-block;font-size:12px;color:var(--ink-soft);text-decoration:none;padding:3px 10px;border:1px solid var(--line);border-radius:6px;background:var(--card);cursor:pointer}.fv-more-link:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.fv-more-link:disabled{cursor:not-allowed;opacity:.55}.fv-add-spouse{width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink-soft)}.fv-add-spouse:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.fv-add-spouse:disabled{cursor:not-allowed}.fv-save-row{display:flex;align-items:center;gap:10px;margin-top:4px;flex-wrap:wrap}.fv-save-row button{padding:9px 20px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.fv-save-row button:disabled{background:var(--line);color:var(--ink-soft);cursor:default}.query-group-chips{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.query-group-chip{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-size:13px}.query-group-chip span{flex:1;min-width:0}.query-group-chip button{flex-shrink:0;background:none;border:none;color:var(--ink-soft);cursor:pointer;font-size:14px;padding:2px 4px}.query-group-chip button:hover{color:var(--accent)}.fv-save-ok{color:#2e7d32;font-size:12px}.fv-save-err{color:#dc143c;font-size:12px}.fv-reload-btn{margin-left:8px;padding:3px 10px;border-radius:6px;border:1px solid crimson;background:#fff;color:#dc143c;font-size:11px;font-weight:600;cursor:pointer}.fv-reload-btn:hover{background:#fbeceb}.fv-empty-note{color:var(--ink-soft);font-size:13px}.focus-view input:disabled,.focus-view select:disabled,.focus-view textarea:disabled{background:var(--paper);color:var(--ink-soft);cursor:not-allowed}.wizard-step{display:flex;flex-direction:column;gap:12px;max-width:480px}.wizard-label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--ink-soft)}.wizard-label input{font:inherit;font-size:15px;font-weight:400;color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.wizard-step>form{display:flex;flex-direction:column;gap:12px}.wizard-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.wizard-step button[type=submit]{align-self:flex-start;padding:9px 20px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.wizard-step button[type=submit]:disabled{background:var(--line);color:var(--ink-soft);cursor:default}.wizard-step>div>button:not([type=submit]):not(.backup-download-btn):not(.delete-tree-button){align-self:flex-start;padding:9px 20px;border-radius:8px;border:1px solid var(--line);background:var(--accent-soft);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}.wizard-step>div>button:not([type=submit]):not(.backup-download-btn):not(.delete-tree-button):hover:not(:disabled){background:#e4dbc8}.wizard-step>div>button:not([type=submit]):not(.backup-download-btn):not(.delete-tree-button):disabled{background:var(--line);color:var(--ink-soft);cursor:default}.wizard-skip{background:none;border:none;padding:0;font:inherit;font-size:13px;color:var(--ink-soft);text-decoration:underline;cursor:pointer}.wizard-progress{display:flex;flex-direction:column;gap:8px}.wizard-progress-label{font-size:13px;color:var(--ink-soft)}.wizard-progress-bar{height:10px;border-radius:6px;background:var(--accent-soft);overflow:hidden}.wizard-progress-fill{height:100%;background:var(--accent);transition:width .4s ease}.backup-first-box{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;padding:12px 16px;font-size:14px}.backup-download-btn{padding:8px 16px;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.backup-download-btn:hover{opacity:.9}.delete-tree-warning{background:#fbeceb;border:1px solid #d98f88;border-radius:10px;padding:14px 16px;color:#7a281f}.delete-tree-warning ul{margin:8px 0 0;padding-left:20px}.delete-tree-confirm-input{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);width:100%;max-width:360px}.delete-tree-button{padding:10px 20px;border-radius:8px;border:1px solid #a3372e;background:#a3372e;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.delete-tree-button:disabled{background:var(--line);border-color:var(--line);color:var(--ink-soft);cursor:default}.merge-review{display:flex;flex-direction:column;gap:24px;max-width:760px}.merge-section h3{font-size:15px;margin-bottom:10px}.merge-candidate-row,.merge-conflict-row{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--card)}.merge-conflict-field{font-weight:600;font-size:13px;margin-bottom:6px}.merge-conflict-options{display:flex;gap:20px;flex-wrap:wrap}.merge-conflict-options label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.merge-summary-list{font-size:13px;color:var(--ink-soft);margin:0;padding-left:20px}.merge-candidate-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}.merge-candidate-btn{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);cursor:pointer;font-size:13px;text-align:left;color:var(--ink)}.merge-candidate-btn:hover{background:var(--accent-soft)}.merge-candidate-btn.selected{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.merge-backup-gate{display:flex;flex-direction:column;gap:10px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;padding:14px 16px;font-size:14px}.merge-backup-gate label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.validate-severity-error:before{content:"⛔ "}.validate-severity-warning:before{content:"⚠️ "}.validate-finding{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.validate-finding>span{min-width:0;overflow-wrap:anywhere}.validate-finding.validate-dismissed{opacity:.55}.validate-dismiss-btn{display:inline-block;flex-shrink:0;background:none;border:1px solid var(--line);border-radius:6px;padding:3px 10px;font-size:12px;color:var(--ink-soft);cursor:pointer;text-decoration:none}.validate-dismiss-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.validate-dismiss-btn:disabled{opacity:.5;cursor:default}.validate-finding-actions{display:flex;gap:6px;flex-shrink:0}.validate-orphan-bulk-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 10px}.validate-delete-btn:hover:not(:disabled){border-color:#c0392b;color:#c0392b}.validate-filename{color:#1a56d6;color:LinkText;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;max-width:900px}.stats-tile{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--card)}.stats-tile-value{font-size:24px;font-weight:700}.stats-tile-label{font-size:12px;color:var(--ink-soft);margin-top:2px}.merge-conflict-options label{align-items:flex-start}.merge-long-text{max-height:160px;overflow-y:auto;white-space:pre-wrap;font-weight:400;font-size:12px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px;margin-top:4px;max-width:320px}.access-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}.access-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--line);background:var(--card)}.access-row:first-child{border-top:none}.access-name{font-weight:600;font-size:14px}.access-username{font-size:12px;color:var(--ink-soft)}.access-owner-badge{font-size:12px;font-weight:600;color:var(--ink-soft)}.access-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.access-controls-message{flex-shrink:1;flex-wrap:wrap;min-width:0}.access-controls-message .event-detail{white-space:normal;overflow-wrap:break-word}.access-controls select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--card)}.access-controls button{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--card);font-size:12px;cursor:pointer;color:#a3372e}.access-controls button:hover:not(:disabled){background:#fbeceb;border-color:#d98f88}.backup-run-ready{background:var(--accent-soft)}.backup-run-ready-notice{color:var(--accent);font-weight:600;font-size:13px;margin-top:4px}.feedback-controls{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:10px}.feedback-controls select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--card)}.feedback-controls textarea{flex:1 1 260px;min-width:200px;font:inherit}.feedback-reply{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.feedback-reply-label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.feedback-reply textarea{width:100%;box-sizing:border-box;font:inherit;margin-bottom:8px}.access-grant-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.access-grant-form select{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--card)}.fgs-page{max-width:720px;width:100%;margin:0 auto;padding:24px 16px 60px;box-sizing:border-box}.fgs-toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:8px}.fgs-sheet{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:32px 40px;margin-top:16px}.fgs-title{text-align:center;margin:0 0 24px;font-size:22px;letter-spacing:.03em}.fgs-spouses{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fgs-spouse-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:4px}.fgs-spouse-name{font-size:17px;font-weight:600;margin-bottom:8px}.fgs-fact-row{font-size:14px;margin-bottom:4px}.fgs-fact-label{color:var(--ink-soft);display:inline-block;width:44px}.fgs-parent-line{font-size:13px;color:var(--ink-soft);margin-top:4px}.fgs-parent-years{color:var(--ink-soft)}.fgs-married-line{text-align:center;font-size:14px;font-style:italic;margin:20px 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fgs-children-title{font-size:15px;margin:24px 0 10px}.fgs-children-table{width:100%;border-collapse:collapse;font-size:13px}.fgs-children-table th{text-align:left;border-bottom:2px solid var(--line);padding:6px 8px;color:var(--ink-soft);font-weight:600}.fgs-children-table td{border-bottom:1px solid var(--line);padding:6px 8px;vertical-align:top}.fgs-table-scroll{overflow-x:auto}.fgs-empty{color:var(--ink-soft);font-style:italic;font-size:14px}.fgs-event-row{font-size:14px;margin-bottom:8px}.fgs-source-line{font-size:12px;color:var(--ink-soft);font-style:italic;margin-left:90px}.fgs-note-body{font-size:14px}.note-rendered p{margin:0 0 8px}.note-rendered p:last-child{margin-bottom:0}.note-rendered ul,.note-rendered ol{margin:0 0 8px;padding-left:22px}.note-rendered a{color:var(--accent)}.note-rendered img{max-width:100%;height:auto;border-radius:8px;display:block;margin:8px 0}.note-rendered table{display:block;overflow-x:auto;border-collapse:collapse;margin:0 0 12px}.note-rendered th,.note-rendered td{border:1px solid var(--line);padding:6px 12px;text-align:left}.note-rendered th{background:var(--card-tint);font-weight:600}.fgs-ahnentafel-root{font-size:16px;font-weight:600;text-align:center;margin-bottom:16px}.fgs-ahnentafel-row{font-size:14px;margin:4px 0}.fgs-descendant-list{list-style:none;margin:0;padding-left:24px}.fgs-descendant-list.fgs-descendant-root{padding-left:0}.fgs-descendant-item{font-size:14px;margin:6px 0;border-left:1px solid var(--line);padding-left:10px}.fgs-descendant-name{font-weight:600}.fgs-descendant-spouse-list{list-style:none;margin:2px 0 0;padding:0}.fgs-descendant-spouse{color:var(--ink-soft);font-style:italic;font-size:13px}.fgs-descendant-root-spouses{text-align:center;margin:-10px 0 16px}.fgs-ancestor-label{color:var(--ink-soft);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.fgs-register-section{margin-bottom:20px;page-break-inside:avoid}.fgs-register-heading{font-size:16px;margin:0 0 6px}.fgs-register-narrative{font-size:14px;margin:0 0 8px}.fgs-register-children{margin-left:16px}.fgs-register-children-label{font-size:13px;font-weight:600;color:var(--ink-soft);margin:0 0 4px}.fgs-register-child{font-size:13px;margin:2px 0}@media print{html,body,#root,.app-body{height:auto!important;overflow:visible!important}.app-header,.fgs-no-print{display:none!important}.fgs-page{max-width:none;padding:0;margin:0}.fgs-sheet{border:none;padding:0;margin:0}.fgs-children-table{page-break-inside:auto}.fgs-children-table tr{page-break-inside:avoid}}@media (max-width: 640px){.fgs-sheet{padding:20px}.fgs-spouses{grid-template-columns:1fr;gap:16px}.fgs-descendant-list{padding-left:12px}.fgs-descendant-item{padding-left:6px;overflow-wrap:break-word}}.landing-page{min-height:100vh;background:var(--paper)}.landing-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--card);border-bottom:1px solid var(--line)}.landing-header-title{font-size:20px;font-weight:700;color:var(--accent);letter-spacing:.02em}.landing-header-actions{display:flex;gap:10px}.landing-hero{text-align:center;padding:64px 24px 40px;max-width:760px;margin:0 auto}.landing-hero h1{font-size:34px;margin:0 0 16px;line-height:1.25}.landing-hero-sub{font-size:17px;color:var(--ink-soft);margin:0 0 28px;line-height:1.5}.landing-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.landing-body{max-width:1400px;margin:0 auto;padding:0 24px 24px;display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.landing-sections{display:flex;flex-direction:column;gap:20px;min-width:0}.landing-section{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px 28px}.landing-section h2{margin:0 0 12px;font-size:21px}.landing-section .note-rendered{font-size:15px;line-height:1.6}.landing-section .note-rendered img{border:1px solid var(--line);box-shadow:0 6px 18px #0000001f;margin:16px 0}.landing-sidebar{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;position:sticky;top:20px}.landing-sidebar h2{margin:0 0 14px;font-size:18px}.landing-update-item{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.landing-update-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.landing-update-title{font-weight:600;font-size:14px}.landing-update-date{font-size:12px;color:var(--ink-soft);margin:2px 0 6px}.landing-update-body.note-rendered{font-size:13.5px;line-height:1.5}.landing-update-body.note-rendered img{border:1px solid var(--line);box-shadow:0 4px 12px #0000001a;margin:8px 0}.landing-update-empty{color:var(--ink-soft);font-size:14px;margin:0}.landing-cta{text-align:center;padding:16px 24px 64px}.landing-footer{text-align:center;padding:24px;color:var(--ink-soft);font-size:13px;border-top:1px solid var(--line)}@media (max-width: 900px){.landing-body{grid-template-columns:1fr}.landing-sidebar{position:static}}@media (max-width: 640px){.landing-header{padding:12px 16px}.landing-header-title{font-size:17px}.landing-hero{padding:40px 16px 32px}.landing-hero h1{font-size:26px}.landing-hero-sub{font-size:15px}.landing-body{padding:0 16px 16px;gap:20px}.landing-section{padding:18px 20px}.landing-sidebar{padding:16px 18px}}
