@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Great+Vibes&family=Roboto:ital,wght@0,400;1,500&display=swap";.ancestors-list-container{max-width:1300px;margin:10px auto 0;padding:5px 24px;width:100%}.ancestors-display-section{display:flex;flex-direction:column;margin-bottom:5px}.section-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(12,68,8,.1);flex-shrink:0}.section-header h1{font-size:1.2rem;color:var(--primary-dark-blue);margin:0;font-weight:600}.header-actions{display:flex;gap:15px;align-items:center}.count-badge{padding:4px 12px;background:linear-gradient(135deg,#0c44081a,#0c44080d);border-radius:20px;color:var(--primary-dark-blue);font-weight:600;font-size:.82rem}.ancestors-carousel{display:flex;align-items:center;gap:20px;margin-top:4px}.carousel-arrow{flex-shrink:0;width:38px;height:38px;margin-top:40px;border-radius:50%;border:2px solid var(--primary-dark-blue);background:#fff;color:var(--primary-dark-blue);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s,opacity .18s;padding:0}.carousel-arrow:hover:not(:disabled){background:var(--primary-dark-blue);color:#fff}.carousel-arrow:disabled{opacity:.25;cursor:not-allowed}.carousel-info{text-align:center;padding:4px 0 2px}.page-info-text{font-size:.82rem;color:#888}.carousel-page-input{width:44px;padding:2px 4px;border:1px solid rgba(12,68,8,.3);border-radius:4px;font-size:.82rem;text-align:center;color:var(--primary-dark-blue);background:#fff;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.carousel-page-input::-webkit-outer-spin-button,.carousel-page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.carousel-page-input:focus{outline:none;border-color:var(--primary-dark-blue);box-shadow:0 0 0 2px #0c44081a}.create-btn{padding:6px 14px;background:var(--primary-dark-blue);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px}.create-btn:hover{background:#0c4408cc;transform:translateY(-2px);box-shadow:0 4px 12px #0c44084d}.ancestors-cards-wrapper{flex:1;min-width:0;overflow:hidden}@keyframes slide-from-right{0%{transform:translate(48px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-from-left{0%{transform:translate(-48px);opacity:0}to{transform:translate(0);opacity:1}}.carousel-slide-next{animation:slide-from-right .2s ease-out}.carousel-slide-prev{animation:slide-from-left .2s ease-out}.ancestors-cards-wrapper::-webkit-scrollbar{width:8px}.ancestors-cards-wrapper::-webkit-scrollbar-track{background:#0c44080d;border-radius:4px}.ancestors-cards-wrapper::-webkit-scrollbar-thumb{background:var(--primary-dark-blue);border-radius:4px}.ancestors-cards-wrapper::-webkit-scrollbar-thumb:hover{background:#0c4408cc}.ancestors-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;padding:8px 0;width:100%}.ancestor-mini-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;background:#fff;border:1px solid #e5e0d8;border-radius:8px;cursor:pointer;text-align:center;transition:box-shadow .15s,transform .12s}.ancestor-mini-gender{position:absolute;top:4px;right:5px;font-size:.7rem;color:#aaa;opacity:0;transition:opacity .15s;line-height:1;pointer-events:none}.ancestor-mini-card:hover .ancestor-mini-gender{opacity:1}.ancestor-mini-card:hover{box-shadow:0 3px 10px #0c440826;transform:translateY(-2px)}.ancestor-mini-photo-wrap{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#f0ebe3;border:2px solid #e0d8cc}.ancestor-mini-photo{width:100%;height:100%;object-fit:cover}.ancestor-mini-name{font-size:.75rem;font-weight:600;color:#222;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.ancestor-mini-dates{font-size:.68rem;color:#888;font-variant-numeric:tabular-nums}.ancestors-cards>*{min-width:0}.no-data{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#999;font-size:1.1rem;font-style:italic;background:#0c440808;border-radius:12px}.filters-section{background:linear-gradient(135deg,#0c440808,#0c440803);padding:8px 14px;border-radius:8px;margin-top:4px}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.filters-header h2{font-size:.9rem;color:var(--primary-dark-blue);margin:0;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.reset-btn{padding:6px 14px;background:transparent;color:var(--primary-dark-blue);border:1.5px solid var(--primary-dark-blue);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.reset-btn:hover{background:var(--primary-dark-blue);color:#fff}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-bottom:0}.filter-card{background:#fff;padding:10px 12px;border-radius:6px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(12,68,8,.1);transition:box-shadow .2s ease}.filter-card:hover{box-shadow:0 2px 8px #0c44081a}.filter-card h3{font-size:.78rem;color:var(--primary-dark-blue);margin:0 0 6px;font-weight:700;padding-bottom:5px;border-bottom:1px solid rgba(12,68,8,.1);text-transform:uppercase;letter-spacing:.05em}.filter-content{display:flex;flex-direction:column;gap:6px}.family-select{width:100%;height:180px;padding:4px 8px;border:1.5px solid rgba(12,68,8,.2);border-radius:6px;font-size:.82rem;color:var(--primary-dark-blue);background:#fff;cursor:pointer;transition:all .3s ease;overflow-y:auto;box-sizing:border-box}.family-select option{padding:6px 10px;font-size:.88rem;line-height:1.3;cursor:pointer}.family-select option:hover{background:#0c44081a}.family-select:hover,.family-select:focus{border-color:var(--primary-dark-blue);outline:none;box-shadow:0 0 0 3px #0c44081a}.family-preview{padding:8px;background:#0c44080d;border-radius:6px;text-align:center}.family-count{margin:0;color:var(--primary-dark-blue);font-weight:600;font-size:.88rem}.location-search-row{display:flex;gap:6px;align-items:center}.location-input{flex:1;padding:8px 12px;border:1.5px solid rgba(12,68,8,.2);border-radius:6px;font-size:.9rem;color:var(--primary-dark-blue);transition:border-color .2s,box-shadow .2s;min-width:0}.location-input:hover,.location-input:focus{border-color:var(--primary-dark-blue);outline:none;box-shadow:0 0 0 3px #0c44081a}.location-input--success{border-color:#2a7a2a!important}.location-input--error{border-color:#b00!important}.location-search-btn{flex-shrink:0;width:36px;height:36px;border:1.5px solid rgba(12,68,8,.2);border-radius:6px;background:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.location-search-btn:hover{background:#0c44080f;border-color:var(--primary-dark-blue)}.filter-help--success{color:#2a7a2a;font-weight:600}.filter-help--error{color:#b00}.filter-help--loading{color:#888;font-style:italic}.radius-control{display:flex;flex-direction:column;gap:6px}.radius-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.radius-control label{font-weight:600;color:var(--primary-dark-blue);font-size:.875rem;white-space:nowrap}.radius-direct-input{width:90px;padding:4px 8px;border:1.5px solid rgba(12,68,8,.2);border-radius:6px;font-size:.85rem;text-align:right;color:var(--primary-dark-blue);background:#fff;font-family:inherit;transition:border-color .15s,box-shadow .15s}.radius-direct-input:focus{outline:none;border-color:var(--primary-dark-blue);box-shadow:0 0 0 2px #0c44001a}.radius-direct-input::placeholder{color:#bbb;font-style:italic}.radius-slider{width:100%;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(12,68,8,.2) 0%,var(--primary-dark-blue) 100%);outline:none;cursor:pointer;-webkit-appearance:none}.radius-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-dark-blue);cursor:pointer;transition:all .3s ease}.radius-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 0 4px #0c440833}.radius-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary-dark-blue);cursor:pointer;border:none;transition:all .3s ease}.radius-slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 0 0 4px #0c440833}.slider-labels{display:flex;justify-content:space-between;font-size:.85rem;color:#666;margin-top:4px}.date-input{width:auto;padding:8px 12px;border:1.5px solid rgba(12,68,8,.2);border-radius:6px;font-size:.9rem;color:var(--primary-dark-blue);transition:all .3s ease}.date-input:hover,.date-input:focus{border-color:var(--primary-dark-blue);outline:none;box-shadow:0 0 0 3px #0c44081a}.date-info{padding:8px;background:#0c44080d;border-radius:6px;text-align:center}.date-info p{margin:0;color:var(--primary-dark-blue);font-weight:600;font-size:.88rem}.date-mode-switch{display:flex;background:#0c440814;border-radius:8px;padding:4px;gap:4px}.mode-btn{flex:1;padding:6px 12px;border:none;border-radius:6px;background:transparent;color:var(--primary-dark-blue);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.mode-btn:hover{background:#0c44081a}.mode-btn.active{background:#fff;color:var(--primary-dark-blue);font-weight:600;box-shadow:0 2px 6px #0000001a}.date-range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.date-range-field{display:flex;flex-direction:column;gap:8px}.date-range-field label{font-weight:600;color:var(--primary-dark-blue);font-size:.9rem}.date-range-field .date-input{width:80%}.filter-help{margin:0;font-size:.9rem;color:#666;font-style:italic}.family-results{background:#fff;padding:8px 12px;border-radius:6px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(12,68,8,.1);height:130px;overflow-y:auto}.family-results h3{font-size:.78rem;color:var(--primary-dark-blue);margin:0 0 6px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.family-tree-preview{display:flex;flex-direction:column;gap:4px}.family-member-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#0c440808;border-radius:5px;cursor:pointer;transition:all .2s ease;border-left:2px solid transparent}.family-member-item:hover{background:#0c440814;border-left-color:var(--primary-dark-blue);transform:translate(4px)}.member-name{font-weight:600;color:var(--primary-dark-blue);font-size:.88rem}.member-dates{color:#666;font-size:.8rem}.container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.cards{display:flex;flex-wrap:wrap;justify-content:center;align-items:start;gap:20px;width:100%}.error{color:red;font-weight:700;padding:20px;text-align:center}@media screen and (max-width: 1024px){.filters-grid{grid-template-columns:1fr}}@media screen and (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{flex-direction:column;width:100%;align-items:stretch}.create-btn{justify-content:center}.filters-section{padding:20px}.filters-header{flex-direction:column;align-items:flex-start;gap:16px}.reset-btn{width:100%}.date-range-inputs{grid-template-columns:1fr}}@media screen and (max-width: 480px){.ancestors-list-container{padding:5px 8px}.ancestors-carousel{gap:8px}.carousel-arrow{width:26px;height:26px;font-size:1rem}.ancestors-cards{gap:6px}.ancestor-mini-photo-wrap{width:44px;height:44px}.ancestor-mini-name{font-size:.7rem}.ancestor-mini-dates{font-size:.62rem}.section-header h1{font-size:1.4rem}.filter-card{padding:16px}.family-member-item{flex-direction:column;align-items:flex-start;gap:8px}}.scroll-to-top{position:fixed;bottom:20px;right:20px;visibility:hidden;background-color:var(--primary-dark-green);color:#fff;border:none;padding:20px;border-radius:5px;cursor:pointer;z-index:3;opacity:0;transform:translateY(20px);transition:opacity .5s ease-in-out,transform 1.5s ease,visibility 1.2s}.scroll-to-top.visible{visibility:visible;opacity:1;transform:translateY(0)}.scroll-to-top:hover{background-color:rgba(var(--primary-light-green-rgb),.7);padding:18px;border:2px solid var(--primary-dark-green);transform:scale(.95);transition:transform .3s ease-in-out}.card{display:flex;flex-direction:column;justify-content:center;align-items:start;width:100%;margin:0;padding:var(--space-md)!important;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);box-shadow:var(--shadow-sm);position:relative;overflow:visible;z-index:1;transition:transform .25s,box-shadow .25s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.prénom-nom{position:relative;height:75px;width:100%;padding-top:8px;font-size:1.2rem;font-weight:700;background-color:#707c614d;background:linear-gradient(to top,transparent,rgba(112,125,97,.9));margin:0;border-radius:0;z-index:3;transition:border-radius .2s ease-out,border-right .2s ease-out}.prénom-nom:hover{border-radius:0 55px 0 0;box-shadow:55px 0 #7878784d;transition:border-radius .25s ease-in,border-right .25s ease-in;z-index:1}.prénom-nom.no-hover-effect:hover{border-radius:0;box-shadow:none;transition:none}.card-header{position:relative;height:100%;width:100%;background-color:transparent;align-self:center;border:1.5px transparent solid;border-radius:5px;overflow:hidden}.card-header:hover:before{content:attr(data-label);color:#00f;font-weight:700;opacity:10%}.portrait-container{height:100px;width:auto;display:flex;justify-content:center;align-items:center;overflow:hidden;z-index:2}.portrait{height:80px;width:80px;border-radius:5%;box-shadow:0 2px 2px #00000080;z-index:1;transition:transform .4s ease,border .9s ease,box-shadow .9s ease,margin-top .9s ease,margin-bottom .9s ease,border-radius .9s ease;object-fit:cover}.portrait:hover{border:none;box-shadow:none;transform:scale(1.1);z-index:1;border-radius:2px}.gender-symbol{position:absolute;top:0;right:0;height:20px;width:20px;border:none;box-shadow:none;color:#00f;opacity:0;transition:opacity .01s ease-in-out;pointer-events:none}h2:hover .gender-symbol{opacity:1;transition:opacity .5s ease-in-out}h2.has-image:hover .gender-symbol{opacity:0}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);cursor:pointer;transform:translateY(-2px)}.container-details-map .ancestor-card:hover{background-color:#d3d3d3!important;border:2px solid white!important;box-shadow:0 0 5px #0003!important;cursor:pointer;transform:none!important;transition:none!important}.styled-fonts{display:flex;color:var(--primary-color);font-size:14px;max-height:3rem;max-width:100%;overflow:hidden;text-align:start;position:relative;border-top:1px solid white;padding-top:8px}.styled-fonts-data{display:flex;color:var(--primary-color);font-size:12px;max-height:auto;max-width:100%;overflow:hidden;text-align:start;padding-left:10px;position:relative}.read-more-btn{display:block;background-color:var(--primary-dark-green);color:#fff;font-size:14px;cursor:pointer;margin-top:1px;align-self:flex-start}.styled-fonts.expanded{max-height:100em}.styled-fonts:before{content:attr(data-label);color:var(--secondary-dark);font-weight:700;margin-right:2.5rem}.dropdown-field{position:relative;width:100%;z-index:1}.field-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;transition:all .3s cubic-bezier(.25,.46,.45,.94);background-color:#ffffff0d;padding:2px 4px;border-radius:3px;position:relative;z-index:10}.dropdown-field.has-overflow .field-content{cursor:pointer}.dropdown-field.has-overflow:hover .field-content{white-space:normal;overflow:visible;text-overflow:unset;padding:4px;z-index:2000;min-height:auto;line-height:1.4}.dropdown-tooltip{display:none}@font-face{font-family:OpenDyslexic;src:url(/fonts/OpenDyslexic-Regular.otf) format("opentype");font-weight:400;font-style:normal}:root{--color-primary: #0c4408;--color-primary-light: #1a6e14;--color-accent: #8b6914;--color-bg: #f7f4ef;--color-surface: #ffffff;--color-border: #e0d8cc;--color-border-light: #ede8e0;--color-text: #1a1a1a;--color-text-secondary:#555555;--color-text-muted: #888888;--color-error: #b00020;--color-success: #2a7a2a;--color-warning: #c9a020;--primary-dark-green: var(--color-primary);--primary-dark-blue: var(--color-primary);--primary-background-color: var(--color-bg);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 2px 8px rgba(0,0,0,.12);--shadow-lg: 0 4px 16px rgba(0,0,0,.16);font-family:Roboto,Inter,system-ui,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg);color:var(--color-text);overflow-x:hidden}h1,h2,h3,h4{color:var(--color-text);margin:0 0 var(--space-md)}h1{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2}h2{font-size:clamp(1.2rem,3vw,1.8rem)}h3{font-size:clamp(1rem,2.5vw,1.3rem)}a{font-weight:500;color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-light)}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md);padding:11px 20px;font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:opacity .15s,background .15s,color .15s;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.88}.btn-secondary{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-secondary:hover:not(:disabled){background:#0c440812}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover:not(:disabled){opacity:.88}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){opacity:.88}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.btn-ghost:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-sm{padding:6px 14px;font-size:.8125rem}.btn-lg{padding:14px 28px;font-size:1rem}.btn-block{display:flex;width:100%}.ms-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-md)}.ms-card-header{padding:var(--space-sm) var(--space-md);background:var(--color-primary);border-radius:var(--radius-md) var(--radius-md) 0 0;color:#fff}.ms-section{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.ms-section-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--space-sm)}.ms-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.6875rem;font-weight:600;letter-spacing:.2px;white-space:nowrap}.ms-badge-primary{background:var(--color-primary);color:#fff}.ms-badge-success{background:#2a7a2a24;color:var(--color-success)}.ms-badge-accent{background:#8b691424;color:var(--color-accent)}.ms-badge-error{background:#b000201a;color:var(--color-error)}.ms-badge-neutral{background:var(--color-border);color:var(--color-text-secondary)}.ms-page{padding:var(--space-xl) clamp(var(--space-md),4vw,48px);max-width:1200px;margin:0 auto;min-height:100vh}.ms-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-primary);gap:var(--space-md)}.ms-page-title{font-size:clamp(1.4rem,3.5vw,2rem);font-weight:700;color:var(--color-primary);margin:0}.ms-page-subtitle{font-size:.875rem;color:var(--color-text-muted);margin:4px 0 0}.ms-stats{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.ms-stat{flex:1;min-width:100px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.ms-stat-n{display:block;font-size:1.75rem;font-weight:700;color:var(--color-primary);line-height:1;margin-bottom:4px}.ms-stat-l{font-size:.75rem;color:var(--color-text-secondary)}.ms-field{display:flex;flex-direction:column;gap:5px}.ms-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px}.ms-empty{text-align:center;padding:var(--space-xxl) var(--space-md);color:var(--color-text-muted)}.ms-empty-title{font-size:1rem;font-weight:500;margin:0 0 var(--space-sm)}.ms-empty-hint{font-size:.875rem;font-style:italic;margin:0 0 var(--space-lg)}.ms-loading{text-align:center;padding:var(--space-xxl);color:var(--color-text-muted);font-style:italic}.ms-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1.5px solid var(--color-border);background:var(--color-surface);font-size:.75rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.ms-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ms-chip:hover:not(.active){border-color:var(--color-primary);color:var(--color-primary)}.ms-divider{height:1px;background:var(--color-border);margin:var(--space-md) 0}.ms-back{background:none;border:none;font-size:.875rem;color:var(--color-primary);cursor:pointer;padding:0;font-family:inherit}.ms-back:hover{text-decoration:underline}input,select,textarea{font-family:inherit;font-size:.95rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;background:var(--color-surface);color:var(--color-text);width:100%;transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@keyframes map-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.map-skeleton{position:relative;width:100%;height:100%;background:#e8edf2;border-radius:inherit;overflow:hidden}.map-skeleton__surface{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#dde3ea,#edf0f4,#dde3ea 80%);background-size:600px 100%;animation:map-shimmer 1.6s ease-in-out infinite}.map-skeleton__zoom{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:3px}.map-skeleton__zoom-btn{width:30px;height:30px;border-radius:4px;background:#ffffff8c}.map-skeleton__layers{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:4px;background:#ffffff8c}.map-skeleton__marker{position:absolute;width:20px;height:20px;border-radius:50%;background:#ffffff73}.map-skeleton__attribution{position:absolute;bottom:6px;right:8px;width:120px;height:14px;border-radius:3px;background:#ffffff73}.map-skeleton__legend{position:absolute;bottom:12px;left:50%;transform:translate(-50%);width:200px;height:16px;border-radius:8px;background:#ffffff73}.map-container{position:relative;width:85%;height:665px;border:2px solid #e2e8f0;border-radius:5px;margin-top:30px;margin-right:15px;overflow:hidden;z-index:1!important}.map-container.search-map{margin:0;border:none;border-radius:6px;width:100%}.map-container.ancestor-map{z-index:2!important;min-height:582.5px}.map-header{padding:0;border-bottom:3px solid #e2e8f0;background:transparent!important}.map-title{font-size:1.25rem;font-weight:600}.map-content{padding:4px;margin-bottom:40px;background:#f9f9f9}.leaflet-container{height:100%;width:100%}.leaflet-popup-content{font-family:Georgia,Times,Times New Roman,serif,sans-serif;color:var(--primary-dark-blue)}.leaflet-popup-content:hover{animation:colorChange 1s forwards}@keyframes colorChange{0%{color:var(--primary-dark-blue)}to{color:var(--secondary-light)}}.leaflet-popup-content strong{display:block;margin-bottom:.25rem}.map-crosshair .leaflet-container{cursor:crosshair!important}.geo-filter-panel{position:absolute;top:80px;left:10px;z-index:1000;width:230px;background:#fffffff2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #d1d9e0;border-radius:8px;box-shadow:0 2px 10px #0000001f;padding:12px 14px;font-size:12.5px;color:#333;pointer-events:auto}.geo-filter-hint{margin:0;font-size:12px;color:#555;line-height:1.4;text-align:center}.geo-filter-coords{font-size:11px;color:#0c4408;font-weight:600;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-filter-section{margin-bottom:10px}.geo-filter-row{display:flex;align-items:center}.geo-filter-row--between{justify-content:space-between;margin-bottom:4px}.geo-filter-row--gap{gap:6px;margin-top:4px}.geo-filter-label{font-size:11px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.4px}.geo-filter-value{font-size:12px;font-weight:700;color:#0c4408}.geo-filter-slider{width:100%;accent-color:#0C4408;cursor:pointer;margin:0}.geo-filter-slider-labels{display:flex;justify-content:space-between;font-size:10px;color:#999;margin-top:1px}.geo-filter-year{flex:1;width:0;padding:3px 6px;border:1px solid #ccc;border-radius:4px;font-size:12px;font-family:inherit;color:#333;background:#fff;text-align:center;-moz-appearance:textfield}.geo-filter-year::-webkit-inner-spin-button,.geo-filter-year::-webkit-outer-spin-button{-webkit-appearance:none}.geo-filter-year:focus{outline:none;border-color:#0c4408}.geo-filter-count{font-size:12px;font-weight:600;color:#0c4408;margin-bottom:8px;text-align:center;padding:4px 0;border-top:1px solid #e8edf2;border-bottom:1px solid #e8edf2}.geo-filter-reset{display:block;width:100%;padding:5px 0;background:none;border:1px solid #bbb;border-radius:4px;font-size:11.5px;font-family:inherit;color:#666;cursor:pointer;text-align:center;transition:border-color .15s,color .15s}.geo-filter-reset:hover{border-color:#0c4408;color:#0c4408}.map-legend{position:absolute;bottom:24px;right:10px;z-index:1000;background:#ffffffed;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #d1d9e0;border-radius:6px;box-shadow:0 1px 6px #0000001a;padding:8px 10px;pointer-events:none}.map-legend__title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:5px}.map-legend__item{display:flex;align-items:center;gap:6px;margin-bottom:3px;font-size:11px;color:#444;white-space:nowrap}.map-legend__item:last-child{margin-bottom:0}.map-legend__dot{width:18px;height:18px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #00000040;display:flex;align-items:center;justify-content:center;font-size:8px;color:#fff;flex-shrink:0}.sources-panel{display:flex;flex-direction:column;background:#fdfaf5;border-left:1px solid #e8ddc8;min-width:220px;max-width:280px;height:100%;overflow-y:auto;font-size:.85rem}.sources-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;border-bottom:1px solid #e8ddc8;position:sticky;top:0;background:#fdfaf5;z-index:1}.sources-panel__title{font-family:EB Garamond,Georgia,serif;font-size:1rem;font-weight:600;color:var(--primary-dark-blue, #1c2d3c);margin:0;display:flex;align-items:center;gap:6px}.sources-panel__count{display:inline-flex;align-items:center;justify-content:center;background:var(--primary-dark-blue, #1c2d3c);color:#fff;border-radius:10px;font-size:.72rem;font-family:Roboto,sans-serif;min-width:18px;height:18px;padding:0 5px}.sources-panel__manage-btn{width:24px;height:24px;border-radius:50%;border:1px solid #c8b98a;background:#fff;cursor:pointer;font-size:1rem;line-height:1;color:var(--primary-dark-blue, #1c2d3c);display:flex;align-items:center;justify-content:center;transition:background .15s}.sources-panel__manage-btn:hover{background:#f0ead6}.sources-panel__loading,.sources-panel__error,.sources-panel__empty{padding:16px 14px;color:#6b6b6b;font-style:italic;text-align:center}.sources-panel__error{color:#b00020}.sources-panel__add-btn{margin-top:10px;padding:6px 14px;border-radius:20px;border:1px solid #c8b98a;background:#fff;cursor:pointer;font-size:.82rem;color:var(--primary-dark-blue, #1c2d3c);transition:background .15s}.sources-panel__add-btn:hover{background:#f0ead6}.sources-panel__list{list-style:none;margin:0;padding:8px 0}.sources-panel__item{padding:8px 14px;cursor:pointer;border-bottom:1px solid #f0e8d8;transition:background .12s}.sources-panel__item:hover{background:#f5efe4}.sources-panel__item--selected{background:#ede7d8}.sources-panel__item-header{display:flex;align-items:flex-start;gap:8px}.sources-panel__item-icon{font-size:1rem;flex-shrink:0;margin-top:1px}.sources-panel__item-meta{flex:1;min-width:0}.sources-panel__item-name{display:block;font-weight:600;color:#2c2c2c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sources-panel__item-type{display:block;font-size:.75rem;color:#7a6e5c;margin-top:1px}.sources-panel__item-year{flex-shrink:0;font-size:.78rem;color:#9e8e6a;font-variant-numeric:tabular-nums}.sources-panel__item-details{margin-top:8px;padding-top:8px;border-top:1px dashed #d4c8a8;font-size:.82rem;color:#444;line-height:1.5}.sources-panel__item-details p{margin:4px 0}.sources-panel__citation{margin:6px 0;padding:6px 10px;border-left:3px solid #c8b98a;background:#f5efe4;font-style:italic;color:#555;border-radius:0 4px 4px 0}.sources-panel__badge{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:10px;margin-top:4px}.sources-panel__badge--digitized{background:#d4edda;color:#155724}.sources-panel__file-link{display:inline-block;margin-top:6px;font-size:.8rem;color:var(--primary-dark-blue, #1c2d3c);text-decoration:underline}.sources-panel__file-link:hover{color:var(--primary-dark-green, rgb(12, 68, 8))}@media (max-width: 900px){.sources-panel{max-width:100%;min-width:unset;border-left:none;border-top:1px solid #e8ddc8}}.success{color:#0080006a;height:30px;width:auto;border:3px black solid;border-radius:15px}.error{color:#ff000060;height:30px;width:auto;border:3px black solid;border-radius:15px}.Delete-button{display:flex;justify-content:center;margin:5px;padding-block:7px;padding-inline:7px;border:2px solid #e0e0e000;border-radius:5px}.Delete-button:hover{background-color:#f004;border:2px solid red}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:100}.modal-content{background:#fff;padding:20px;border-radius:5px;text-align:center;box-shadow:0 5px 15px #0000004d}.confirm-button{background-color:red;color:#fff;border:3px solid transparent;padding:.5rem 1rem;margin:.5rem;cursor:pointer;border-radius:4px}.cancel-button{background-color:gray;color:#fff;border:3px solid transparent;padding:.5rem 1rem;margin:.5rem;cursor:pointer;border-radius:4px}.dropzone{background:transparent;border:2px dashed lightgray;border-radius:15px;cursor:pointer;width:160px;height:80px}.dropSign{border:none;height:100%;width:auto;font-size:20px;background-color:transparent;box-shadow:none;opacity:.1}.conteneur-détails-image{display:flex;align-items:center;padding:0 0 0 5px;margin:10px;width:100%;border-top:1px solid lightgrey;border-bottom:1px solid lightgrey}.closing-X{display:flex;justify-content:center;align-items:center;align-self:end;margin-top:-25px;height:20px;width:20px;background-color:transparent;opacity:50%;border:2px solid grey;border-radius:15px;color:#000;font-size:18px;font-weight:bolder;cursor:pointer}h4{text-align:center;width:100%;margin:5px}ul{display:flex;flex-direction:column;justify-content:center;flex-grow:1;overflow:hidden;border-radius:4px;color:#fff;font-size:.8rem}li{display:flex;justify-content:start;align-items:center;margin:3px;border-radius:4px;font-size:11px;color:var(--primary-dark-blue)}.status-messages>span{margin:2px;padding:2px;border:2px solid var(--primary-dark-blue);border-radius:5px}.status-messages span:nth-child(1){background-color:#90ee90;padding-inline:40px}.status-messages span:nth-child(2){background-color:#f08080}.status-messages span:nth-child(3){background-color:#ffffe0}.miniature{display:flex;margin-right:65px}.miniature:hover{border:6px solid var(--primary-dark-blue);border-radius:35px;width:200px;height:200px;cursor:pointer}.file-input{background-color:#ff0;width:auto;margin-left:10px}.file-label{margin-right:50px;color:gray;font-size:14px}.file-label:hover{color:#000;cursor:pointer}.custom-button{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.custom-button:hover{background-color:#45a049}.preview-container{background-color:#0000009b;box-shadow:0 0 10px #0000001a;border-radius:5px}.input-container{position:relative;margin-bottom:1rem;width:100%;box-sizing:border-box}h1{text-align:center;background-color:transparent;font-size:28px}.form-container-edit{display:flex;flex-direction:column;align-items:stretch;width:520px;z-index:10;background-color:#fff}.form{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:auto;min-height:100%;padding:20px 24px 32px;box-sizing:border-box;z-index:10000!important;border:1px solid rgba(12,68,8,.15);background-color:#fff}.label-image{display:flex;margin-bottom:10px;font-size:16px;text-align:start!important;justify-content:flex-start}.input-container-image{display:flex;flex-direction:column;width:100%;box-sizing:border-box;border-top:2px solid var(--primary-dark-blue)!important;border-bottom:2px solid var(--primary-dark-blue)!important;border-left:none!important;border-right:none!important;padding:12px 0;z-index:5;border-radius:0!important}.dropzone-container{min-width:350px;background-color:transparent!important;border:none!important}.relation-group{padding-top:15px;padding-bottom:15px;display:flex;flex-direction:column}.relation-group.with-separator{border-bottom:1px solid #d1d5db}.relation-button-wrapper{margin-bottom:8px;width:100%}.relation-button-wrapper:last-child{margin-bottom:0}.relation-button{padding:10px 20px;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:8px}.relation-button.sibling{background:#10b981}.relation-button.sibling.active{background:#6b7280}.relation-button.child{background:#3b82f6}.relation-button.child.active{background:#6b7280}.relation-button.spouse{background:#8b5cf6}.relation-button.spouse.active{background:#6b7280}.relation-button-emoji{font-size:1.2em}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.reader-modal-background{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.reader-modal{padding:20px;border-radius:8px;max-width:75%;width:90%;max-height:80%;overflow-y:auto;box-shadow:0 4px 10px #0000004d;position:relative;display:flex;flex-direction:column}.font-options,.alignment-options{display:flex;flex-direction:row;align-items:center;justify-content:center;margin-bottom:20px}.reader-text{font-family:Garamond,serif;margin:40px;padding:20px;font-size:1.2rem;line-height:1.8;color:#333;text-align:justify;text-indent:2em;overflow-y:auto;flex:1}.reader-text.dark{color:#dacc9e}.reader-settings-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:20px;margin-bottom:20px}.color-palette{width:20px;height:20px;border-radius:50%;border:1px solid black;cursor:pointer}.color-palette:hover{border-color:--primary-}.reader-modal.light{background-color:#fff}.reader-modal.soft-yellow{background-color:#fff9e6}.reader-modal.beige{background-color:#d8c6b2}.reader-modal.dark{background-color:#333}.color-options,.font-options,.alignment-options{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:3px;margin:0;padding:0}.font-option,.alignment-option{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border:2px solid black;border-radius:50%;background-color:#f9f9f9;cursor:pointer;font-size:1rem;font-weight:700}.alignment-options:hover,.font-options:hover{background-color:transparent}.alignment-option:hover,.font-option:hover{background-color:#f5dfca7b}.toggle-settings-btn{background-color:#f0f0f0;height:40px;width:100%;display:flex;justify-content:center;align-items:center;font-family:Garamond,serif;font-weight:700;color:#333;border:1px solid #ddd;border-radius:4px;padding:5px 10px;font-size:.9rem;cursor:pointer;margin-bottom:5px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:5px;width:85%;height:auto;max-height:90%;box-shadow:0 4px 6px #0000001a;position:relative;overflow-y:auto}.modal-close-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;cursor:pointer}.biography{padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;height:700px;max-width:90%;text-align:justify;text-wrap:normal;overflow-y:auto}.biography-actions{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.biography-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.biography-meta{font-size:.9rem;color:#666;text-align:right}.biography-preview{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;height:auto}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:700;margin-bottom:5px}.status-badge.brouillon{background-color:#ffecb3;color:#856404}.status-badge.en_revision{background-color:#b3e0ff;color:#004085}.status-badge.publiee{background-color:#c3e6cb;color:#155724}.date-info{display:block;font-size:.8rem;color:#666}.biography-content{line-height:1.6;margin-bottom:20px}.biography-sections{margin-top:20px}.section{background-color:#fff;padding:15px;border-radius:6px;margin-bottom:15px;box-shadow:0 1px 3px #0000001a}.section h4{margin-top:0;color:#333;border-bottom:1px solid #eee;padding-bottom:8px;margin-bottom:10px}.biography-form,.biography-edit{margin-top:20px;background-color:#fff;padding:15px;border-radius:6px;box-shadow:0 1px 3px #0000001a}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333}.biography-textarea,.section-content-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;resize:vertical}.section-title-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem}.status-select{padding:8px;border:1px solid #ddd;border-radius:4px;background-color:#fff}.buttons-group{display:flex;gap:10px;margin-top:15px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .2s}.btn.small{padding:4px 8px;font-size:.9rem}.create-btn{background-color:#4caf50;color:#fff}.create-btn:hover{background-color:#388e3c}.edit-btn{background-color:#2196f3;color:#fff}.edit-btn:hover{background-color:#0b7dda}.save-btn{background-color:#4caf50;color:#fff}.save-btn:hover{background-color:#388e3c}.delete-btn{background-color:#f44336;color:#fff}.delete-btn:hover{background-color:#d32f2f}.cancel-btn{background-color:#9e9e9e;color:#fff}.cancel-btn:hover{background-color:#757575}.add-btn{background-color:#673ab7;color:#fff;margin-top:10px}.add-btn:hover{background-color:#512da8}.sections-list{margin-bottom:15px}.section-item{background-color:#fff;padding:15px;border-radius:6px;margin-bottom:10px;box-shadow:0 1px 3px #0000001a;position:relative}.section-item h4{margin-top:0;margin-bottom:10px}.add-section-form{background-color:#f0f0f0;padding:15px;border-radius:6px;margin-top:15px}.add-section-form h4{margin-top:0;margin-bottom:15px}.error-message{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;padding:10px;border-radius:4px;margin-bottom:15px}.no-biography{color:#856404;background-color:#fff3cd;border:1px solid #ffeeba;padding:15px;border-radius:4px;margin-bottom:15px;text-align:center}.section-reader-modal-background{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.section-reader-modal{padding:20px;border-radius:8px;max-width:90%;width:95%;max-height:90%;overflow:hidden;box-shadow:0 4px 10px #0000004d;position:relative;display:flex;flex-direction:column}.section-reader-modal.double{max-width:95%;width:98%}.close-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#333;z-index:1001}.section-reader-settings-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:20px;margin-bottom:20px}.color-options,.font-options,.alignment-options,.view-options{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;margin:0;padding:0}.color-palette{width:20px;height:20px;border-radius:50%;border:2px solid #333;cursor:pointer;transition:border-color .2s}.color-palette.light{background-color:#fff}.color-palette.soft-yellow{background-color:#fff9e6}.color-palette.beige{background-color:#d8c6b2}.color-palette.dark{background-color:#333232}.color-palette:hover{border-color:#007acc}.font-option,.alignment-option,.view-option{width:20px;height:20px;display:flex;justify-content:center;align-items:center;border:2px solid #333;border-radius:50%;background-color:#f9f9f9;cursor:pointer;font-size:.5rem;font-weight:700;transition:background-color .2s}.view-option.active{background-color:#007acc;color:#fff}.double-page-options{display:flex;gap:8px;align-items:center;margin-left:16px;padding-left:16px;border-left:2px solid #ddd}.double-page-option{background:#ffffffe6;border:1px solid #ddd;border-radius:4px;padding:6px 10px;font-size:12px;cursor:pointer;transition:all .2s ease}.double-page-option:hover{background:#fff;border-color:#bbb}.double-page-option.active{background:#6b9ef7;color:#fff;border-color:#6b9ef7}.font-option:hover,.alignment-option:hover,.view-option:hover{background-color:#f5dfca99}.toggle-settings-btn{background-color:#f0f0f0;height:40px;width:100%;display:flex;justify-content:center;align-items:center;font-family:Garamond,serif;font-weight:700;color:#333;border:1px solid #ddd;border-radius:4px;padding:5px 10px;font-size:.9rem;cursor:pointer;margin-bottom:10px;transition:background-color .2s}.toggle-settings-btn:hover{background-color:#e0e0e0;border-color:#ccc}.section-reader-modal.light{background-color:#fff}.section-reader-modal.soft-yellow{background-color:#fff9e6}.section-reader-modal.beige{background-color:#d8c6b2}.section-reader-modal.dark{background-color:#333}.section-reader-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.section-reader-text.single-page{font-family:Garamond,serif;margin:20px;padding:30px;font-size:1.1rem;line-height:1.7;color:#333;text-align:justify;overflow-y:auto;flex:1;max-height:calc(100vh - 200px)}.double-page-container{display:flex;flex:1;gap:20px;overflow:hidden}.section-reader-text.left-page,.section-reader-text.right-page{font-family:Garamond,serif;flex:1;margin:3px;padding:20px;font-size:1.1rem;line-height:1.7;color:#333;text-align:justify;overflow-y:auto;height:auto;border-radius:8px;box-shadow:inset 0 0 10px #0000001a}.page-separator{width:2px;background:linear-gradient(to bottom,transparent,#ccc 20%,#ccc 80%,transparent);margin:20px 0;flex-shrink:0}.page-placeholder{padding:20px;color:#666;font-style:italic;text-align:center;border:2px dashed #ddd;border-radius:8px;margin-top:50px}.section-chapter{padding-top:40px;margin-bottom:40px;page-break-after:avoid}.section-title{font-size:1.8rem;font-weight:700;color:#2c3e50;margin-bottom:15px;text-align:center;border-bottom:2px solid #bdc3c7;padding-bottom:10px;font-family:Garamond,serif}.section-period{font-size:1rem;color:#7f8c8d;text-align:center;margin-bottom:20px;font-style:italic;font-weight:500}.section-paragraph{text-indent:2em;margin-bottom:1em;line-height:1.8}.section-paragraph:first-of-type{text-indent:0;margin-top:1em}.section-verified-badge{display:block;background-color:#27ae60;color:#fff;padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:700;margin-top:15px;text-align:right;width:fit-content;margin-left:auto}.section-reader-text.dyslexic{font-family:OpenDyslexic,sans-serif!important;letter-spacing:.12em;word-spacing:.16em;line-height:2}.section-reader-text.dyslexic .section-title{font-family:OpenDyslexic,sans-serif!important;letter-spacing:.1em}.section-reader-text.dark{color:#dacc9e}.section-reader-text.dark .section-title{color:#f39c12;border-bottom-color:#5d6d7e}.section-reader-text.dark .section-period{color:#95a5a6}.section-reader-text.dark .section-verified-badge{background-color:#2ecc71}.section-reader-text.dark .page-placeholder{color:#95a5a6;border-color:#5d6d7e}.section-reader-modal.dark .close-btn{color:#dacc9e}.section-reader-modal.dark .close-btn:hover{color:#f39c12}.section-reader-modal.dark .toggle-settings-btn{background-color:#5d6d7e;color:#dacc9e;border-color:#7f8c8d}.section-reader-modal.dark .toggle-settings-btn:hover{background-color:#34495e}.illustrations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.illustration-item{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:8px;overflow:hidden;background:#f8f9fa;border:1px solid #e9ecef}.illustration-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.illustration-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}.illustration-item:hover .illustration-image{transform:scale(1.05)}.zoom-icon{font-size:24px;color:#fff;background:#0009;padding:8px;border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.illustration-caption{padding:12px;font-size:.85rem;line-height:1.4}.illustration-section{margin-bottom:6px;color:#495057}.illustration-description{margin-bottom:6px;color:#6c757d;font-style:italic}.illustration-period{font-size:.8rem;color:#868e96}.image-modal-section,.image-modal-caption,.image-modal-period,.image-modal-dimensions,.image-modal-size{margin-bottom:8px;color:#333;font-size:.9rem}.image-modal-section strong,.image-modal-caption strong,.image-modal-period strong,.image-modal-dimensions strong,.image-modal-size strong{color:#495057;margin-right:8px}@media (max-width: 768px){.illustrations-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.illustration-image-container{height:120px}.illustration-caption{padding:8px;font-size:.8rem}}@media (max-width: 768px){.section-reader-modal{max-width:95%;width:95%;max-height:95%;padding:15px}.double-page-container{flex-direction:column;gap:10px}.section-reader-text.left-page,.section-reader-text.right-page{margin:5px;padding:20px;max-height:40vh}.section-reader-settings-row{flex-wrap:wrap;gap:10px}.section-title{font-size:1.5rem}}.complementary-page .complementary-content{font-size:.9em;line-height:1.4}.complementary-page .complementary-content h3{color:#4a90e2;font-size:1.1em;margin:20px 0 10px;border-bottom:1px solid #ddd;padding-bottom:5px}.complementary-page .sections-summary,.complementary-page .timeline,.complementary-page .stats{list-style:none;padding:0;margin:0 0 15px}.complementary-page .sections-summary li,.complementary-page .timeline li,.complementary-page .stats li{padding:5px 0;border-bottom:1px solid #f0f0f0;font-size:.9rem;line-height:1.4}.complementary-page .sections-summary li:last-child,.complementary-page .timeline li:last-child,.complementary-page .stats li:last-child{border-bottom:none}.complementary-page .timeline li strong{color:#666}.complementary-page .stats li{font-style:italic;color:#666}.separator-line{border-top:2px solid #ddd;margin:30px 0;opacity:.6}.complementary-content-container{margin-top:20px}.complementary-content h3{color:#2c3e50;font-size:1.1rem;margin:25px 0 15px;padding-bottom:8px;border-bottom:1px solid #ddd;font-weight:600}.complementary-content .sections-summary,.complementary-content .timeline,.complementary-content .stats{list-style:none;padding:0;margin:0 0 20px}.complementary-content .sections-summary li,.complementary-content .timeline li,.complementary-content .stats li{padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:.9rem;line-height:1.4}.complementary-content .sections-summary li:last-child,.complementary-content .timeline li:last-child,.complementary-content .stats li:last-child{border-bottom:none}.complementary-content .sections-summary li strong{color:#34495e;font-weight:600}.section-summary-item{cursor:pointer;transition:background-color .2s ease,padding-left .2s ease;border-radius:4px;padding:8px 12px 8px 8px!important}.section-summary-item:hover{background-color:#4a90e21a;padding-left:16px!important}.section-summary-item .section-summary-title{color:#34495e;font-weight:600;transition:color .2s ease}.section-summary-item:hover .section-summary-title{color:#2980b9}.complementary-content .timeline li strong{color:#e74c3c;font-weight:600;font-size:.85rem}.complementary-content .stats li{display:flex;justify-content:space-between;align-items:center;font-weight:500}.section-reader-modal.dark .separator-line{border-top-color:#555}.section-reader-modal.dark .complementary-content h3{color:#7bb3f0;border-bottom-color:#555}.section-reader-modal.dark .complementary-content .sections-summary li,.section-reader-modal.dark .complementary-content .timeline li,.section-reader-modal.dark .complementary-content .stats li{border-bottom-color:#444;color:#ccc}.section-reader-modal.dark .complementary-content .sections-summary li strong{color:#bdc3c7}.section-reader-modal.dark .section-summary-item:hover{background-color:#3498db33}.section-reader-modal.dark .section-summary-item:hover .section-summary-title{color:#3498db}.section-reader-modal.dark .complementary-content .timeline li strong{color:#ff6b6b}.enriched-page{display:flex;flex-direction:column;height:100%;overflow-y:auto}.enriched-page .illustrations-container{flex-shrink:0}.enriched-page .complementary-content-container{flex:1;min-height:0}.multi-file-uploader{display:flex;flex-direction:column;gap:20px;padding:15px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fafafa}.upload-section h4,.illustrations-list h4{margin:0 0 10px;color:#333;font-size:14px;font-weight:600}.upload-status{padding:8px 12px;border-radius:4px;font-size:12px;margin-top:8px}.upload-status.uploading{background-color:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.upload-status.success{background-color:#e8f5e8;color:#388e3c;border:1px solid #c8e6c9}.upload-status.error{background-color:#ffebee;color:#d32f2f;border:1px solid #ffcdd2}.no-illustrations{color:#666;font-style:italic;text-align:center;padding:20px}.illustrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.illustration-item{border:1px solid #ddd;border-radius:8px;overflow:hidden;background-color:#fff;transition:box-shadow .2s ease,transform .2s ease;cursor:pointer}.illustration-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.illustration-image-container{position:relative;width:100%;height:150px;overflow:hidden;background:#f0f0f0}.illustration-thumbnail{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}.illustration-item:hover .illustration-thumbnail{transform:scale(1.05)}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.illustration-item:hover .image-overlay{opacity:1}.zoom-icon{font-size:20px;color:#fff;background:#0009;padding:6px;border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.delete-button{position:absolute;top:8px;right:8px;background-color:#f44336e6;color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.illustration-item:hover .delete-button{opacity:1}.delete-button:hover{background-color:#f44336;transform:scale(1.1)}.illustration-details{padding:10px}.illustration-info{margin-bottom:8px}.illustration-info small{color:#666;font-size:11px}.caption-input{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;background-color:#fafafa;transition:border-color .2s ease,background-color .2s ease}.caption-input:focus{outline:none;border-color:#2196f3;background-color:#fff}.caption-input::placeholder{color:#999;font-style:italic}.image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;cursor:default}.image-modal-close{position:absolute;top:-40px;right:0;background:#ffffffe6;border:none;width:36px;height:36px;border-radius:50%;font-size:20px;font-weight:700;cursor:pointer;color:#333;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-modal-close:hover{background:#fff;transform:scale(1.1)}.image-modal-img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #0000004d}.image-modal-info{background:#fffffff2;padding:15px 20px;border-radius:8px;margin-top:15px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:300px;text-align:left}.image-modal-caption,.image-modal-dimensions,.image-modal-size,.image-modal-type{margin-bottom:8px;color:#333;font-size:.9rem}.image-modal-caption strong,.image-modal-dimensions strong,.image-modal-size strong,.image-modal-type strong{color:#495057;margin-right:8px}@media (max-width: 768px){.illustrations-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.illustration-image-container{height:100px}.multi-file-uploader{padding:10px;gap:15px}}@media (max-width: 768px){.image-modal-img{max-height:60vh}.image-modal-info{min-width:280px;padding:12px 16px;font-size:.85rem}.image-modal-close{top:-35px;width:32px;height:32px;font-size:18px}}@media (max-width: 768px){.illustrations-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.illustration-image-container{height:120px}.illustration-details{padding:8px}}@media (max-width: 480px){.illustrations-grid{grid-template-columns:1fr 1fr;gap:8px}.illustration-image-container{height:100px}}.source-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.source-selector-modal{background-color:#fff;width:600px;max-width:90vw;max-height:90vh;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:24px}.source-selector-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.source-selector-header h3{margin:0;font-size:1.25rem;color:#2d3748}.close-button{background:none;border:none;font-size:1.5rem;color:#4a5568;cursor:pointer;padding:4px 8px}.source-selector-search{padding:16px 20px;border-bottom:1px solid #e2e8f0}.source-selector-search input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;font-size:1rem}.source-selector-title{font-size:1.5rem;color:#2d3748;margin:0 0 16px}.source-selector-search-input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:4px;font-size:1rem;margin-bottom:16px}.source-selector-content{max-height:60vh;overflow-y:auto;padding:4px}.source-selector-loading,.source-selector-error,.source-selector-empty{text-align:center;padding:32px;color:#4a5568}.source-selector-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.source-item{border:1px solid #e2e8f0;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s ease}.source-item:hover{border-color:#4299e1;box-shadow:0 2px 6px #4299e11a}.source-title{font-weight:700;color:#2d3748;font-size:1.125rem;margin-bottom:8px}.source-author{font-size:.9em;color:#666}.source-description{font-size:.9em;margin-top:4px}.source-citation{font-size:.9em;color:#444;margin-top:4px}.source-author{color:#4a5568;font-size:.875rem;margin:4px 0}.source-description{color:#718096;font-size:.875rem;margin:8px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.source-meta{display:flex;gap:12px;margin-top:12px;font-size:.75rem;color:#718096}.source-meta span{background-color:#f7fafc;padding:2px 8px;border-radius:12px;border:1px solid #e2e8f0}.biography-with-sections{max-width:100%;margin:5px;overflow:auto}.sections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;border-bottom:2px solid #e0e0e0;padding-bottom:15px}.sections-header-actions{display:flex;gap:12px;align-items:center}.sections-header h3{color:#333;font-size:1.5rem;margin:0;font-weight:600}.reader-mode-btn{background:linear-gradient(135deg,#8e44ad,#7e349d);color:#fff;border:none;padding:12px 18px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:6px}.reader-mode-btn:hover{background:linear-gradient(135deg,#7e349d,#6c2c7c);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.add-section-btn{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.add-section-btn:hover{background:linear-gradient(135deg,#357abd,#2a5d8a);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.section-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 2px 8px #00000014}.section-form h4{color:#495057;margin-bottom:20px;font-size:1.2rem;font-weight:600}.form-group{margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid #ced4da;border-radius:6px;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-group textarea{resize:vertical;min-height:120px;line-height:1.5}.form-actions{display:flex;gap:12px;margin-top:20px}.save-btn{background:linear-gradient(135deg,#28a745,#20a144);color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease}.save-btn:hover{background:linear-gradient(135deg,#20a144,#1e7e34);transform:translateY(-1px)}.cancel-btn{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease}.cancel-btn:hover{background:#5a6268;transform:translateY(-1px)}.sections-list{display:flex;flex-direction:column;gap:20px}.biography-sections-loading{text-align:center;padding:40px;color:#6c757d;font-style:italic}.no-sections{text-align:center;padding:40px;color:#6c757d;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6;font-style:italic}.biography-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.biography-section:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.biography-section[draggable=true]{cursor:move}.biography-section[draggable=true]:hover{border-color:#4a90e2}.section-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 25px 15px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6}.section-meta{flex:1}.section-title{margin:0 0 8px;color:#495057;font-size:1.2rem;font-weight:600;line-height:1.3;display:flex;align-items:center;gap:8px}.illustration-indicator{font-size:.9rem;opacity:.7;margin-left:auto}.section-period{color:#6c757d;font-size:.85rem;font-style:italic;background:#6c757d1a;padding:4px 8px;border-radius:4px;display:inline-block}.section-actions{display:flex;gap:8px;align-items:center}.section-actions button{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.edit-btn:hover{background:#ffc10733}.duplicate-btn:hover{background:#17a2b833}.delete-btn:hover{background:#dc354533}.drag-handle{color:#6c757d;cursor:grab;font-size:1.2rem;padding:8px;-webkit-user-select:none;user-select:none;transition:color .2s ease}.drag-handle:hover{color:#495057}.drag-handle:active{cursor:grabbing}.section-content{padding:25px;line-height:1.7;color:#495057;text-align:justify}.section-content p{margin:0 0 16px;text-align:justify}.section-content p:last-child{margin-bottom:0}.section-verified{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;padding:8px 25px;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:6px;border-top:1px solid #c3e6cb}@media (max-width: 768px){.biography-with-sections{padding:15px}.sections-header{flex-direction:column;gap:15px;align-items:stretch}.form-row{grid-template-columns:1fr}.section-header{flex-direction:column;gap:15px}.section-actions{align-self:flex-end}.form-actions{flex-direction:column}.save-btn,.cancel-btn{width:100%}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.section-form{animation:slideIn .3s ease}.biography-section{animation:slideIn .2s ease}.biography-section.drag-over{border-color:#4a90e2;background:#4a90e20d}.biography-section.dragging{opacity:.7;transform:rotate(2deg)}.section-illustrations{margin-top:15px;display:flex;flex-wrap:wrap;gap:15px;padding:15px;background:#00000005;border-radius:8px;border:1px dashed rgba(0,0,0,.1)}.section-illustration{display:flex;flex-direction:column;align-items:center;max-width:300px;background:#fff;border-radius:8px;padding:10px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.section-illustration:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.illustration-image{max-width:100%;max-height:200px;width:auto;height:auto;border-radius:6px;border:1px solid rgba(0,0,0,.1);object-fit:cover}.illustration-caption{margin-top:8px;font-size:.85rem;color:#666;text-align:center;font-style:italic;line-height:1.3}@media (max-width: 768px){.section-illustrations{flex-direction:column;align-items:center}.section-illustration{max-width:100%}}.inline-toolbar{position:absolute;top:5px;right:35px;z-index:3}.toolbar-toggle{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:1.5px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:5px;position:absolute;top:-2px;right:8px;width:66px;height:36px;z-index:1}.toolbar-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.toolbar-toggle:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.toolbar-panel{position:absolute;top:45px;right:8px;background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;border:1px solid gray;padding:15px;box-shadow:0 8px 24px #00000026;border:1px solid rgba(0,0,0,.08);min-width:250px;z-index:10;animation:fadeInDown .2s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toolbar-panel-content{display:flex;flex-direction:row;gap:15px;align-items:flex-start}.toolbar-close{position:absolute;top:2px;right:-12px;background:none!important;border:none!important;outline:none!important;box-shadow:none!important;width:24px;height:24px;cursor:pointer;font-size:20px;color:#999;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;padding:0}.toolbar-close:hover{background:none!important;border:none!important;outline:none!important;box-shadow:none!important;color:#333;transform:scale(1.1)}.toolbar-close:focus{outline:none!important;box-shadow:none!important;border:none!important}.toolbar-group{display:flex;flex-direction:column;gap:4px;align-items:center}.toolbar-group-label{font-size:.7rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;text-align:center}.toolbar-btn{background:#f8f9facc;border:1px solid rgba(200,200,200,.4);border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#495057}.toolbar-btn:hover{background:#e6e6e6e6;border-color:#b4b4b499;transform:translateY(-1px) scale(1.05);box-shadow:0 2px 8px #0000001f}.toolbar-btn:active{transform:translateY(0) scale(1);box-shadow:0 1px 4px #0000001a}.toolbar-btn.add-section{background:#d4eddacc;border-color:#b8dacc99;color:#155724}.toolbar-btn.add-section:hover{background:#c3e6cbe6;border-color:#a3cfbbcc;color:#0c3d1a}.toolbar-btn.modern-reader-mode{background:#cce7ffcc;border-color:#9cf9;color:#0056b3}.toolbar-btn.modern-reader-mode:hover{background:#b3d9ffe6;border-color:#80bfffcc;color:#003d82}.toolbar-btn.classic-reader-mode{background:#f8d7dacc;border-color:#f1b0b799;color:#721c24}.toolbar-btn.classic-reader-mode:hover{background:#f5c6cbe6;border-color:#ed969ecc;color:#491217}.toolbar-btn.toggle-sections{background:#fff3cdcc;border-color:#ffeaa799;color:#856404}.toolbar-btn.toggle-sections:hover{background:#ffeaa7e6;border-color:#fdcb6ecc;color:#533f03}.toolbar-btn.toggle-biography{background:#e2e3e5cc;border-color:#ced4da99;color:#6c757d}.toolbar-btn.toggle-biography:hover{background:#d6d8dbe6;border-color:#adb5bdcc;color:#495057}@media (max-width: 768px){.toolbar-panel{min-width:200px;padding:12px}.toolbar-panel-content{gap:12px}.toolbar-btn{width:28px;height:28px;font-size:12px}.toolbar-group-label{font-size:.65rem}}@media (max-width: 480px){.toolbar-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);min-width:280px;max-width:90vw}.toolbar-panel-content{flex-direction:column;gap:15px;align-items:center}.toolbar-group{flex-direction:row;gap:8px}}@media (prefers-color-scheme: dark){.toolbar-toggle{background:#37414bcc;border-color:#4b555f99;color:#e9ecef}.toolbar-toggle:hover{background:#4b555fe6;border-color:#5f6973cc}.toolbar-panel{background:#212529f5;border-color:#ffffff1a}.toolbar-group-label{color:#adb5bd}.toolbar-btn{background:#495057cc;border-color:#6c757d66;color:#f8f9fa}.toolbar-btn:hover{background:#6c757de6;border-color:#adb5bd99;color:#fff}.toolbar-close{color:#adb5bd;background:none!important;border:none!important;outline:none!important;box-shadow:none!important}.toolbar-close:hover{background:none!important;border:none!important;outline:none!important;box-shadow:none!important;color:#f8f9fa;transform:scale(1.1)}}:root{--tl-axis-w: 80px;--tl-axis-line: #e0e4ec;--tl-card-radius: 10px;--tl-panel-w: 420px;--tl-font-serif: "Georgia", "Times New Roman", serif;--tl-transition: .22s cubic-bezier(.4, 0, .2, 1)}.tl-root{position:relative;background:#f8f9fb;border-radius:12px;padding:0 0 32px;overflow-x:hidden}.tl-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:72px 24px;color:#666;font-size:.95rem;text-align:center}.tl-state--error{color:#c0392b}.tl-spinner{width:36px;height:36px;border:3px solid #e0e4ec;border-top-color:var(--primary-dark-blue, #1c2d3c);border-radius:50%;animation:tl-spin .7s linear infinite}@keyframes tl-spin{to{transform:rotate(360deg)}}.tl-retry-btn{padding:8px 20px;background:var(--primary-dark-blue, #1c2d3c);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-family:inherit;transition:opacity .15s}.tl-retry-btn:hover{opacity:.85}.tl-empty-icon{font-size:2.8rem}.tl-empty-title{font-size:1.1rem;font-weight:600;color:#444;margin:0}.tl-empty-hint{font-size:.88rem;color:#888;max-width:400px;margin:0;line-height:1.6}.tl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px 12px;border-bottom:1px solid #e8ecf2;flex-wrap:wrap}.tl-chips{display:flex;flex-wrap:wrap;gap:8px}.tl-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border:1.5px solid #d0d5e8;border-radius:20px;background:#fff;font-size:.8rem;font-weight:600;color:#666;cursor:pointer;transition:all var(--tl-transition);font-family:inherit}.tl-chip:hover{border-color:#a0a8d0;color:#333}.tl-chip--active{border-width:1.5px}.tl-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background-color var(--tl-transition)}.tl-count{font-size:.8rem;color:#999;white-space:nowrap;font-weight:500}.tl-legend{display:flex;align-items:center;padding:10px 24px 6px;gap:0}.tl-legend-left,.tl-legend-right{flex:1;font-size:.75rem;font-style:italic;color:#aab;font-weight:500}.tl-legend-left{text-align:right;padding-right:16px}.tl-legend-right{text-align:left;padding-left:16px}.tl-legend-axis{width:var(--tl-axis-w);flex-shrink:0}.tl-body{padding:8px 24px 0}.tl-row{display:flex;align-items:flex-start;margin-bottom:4px;min-height:32px}.tl-col{flex:1;display:flex;min-width:0}.tl-col--left{justify-content:flex-end;padding-right:12px}.tl-col--right{justify-content:flex-start;padding-left:12px}.tl-axis{width:var(--tl-axis-w);flex-shrink:0;display:flex;flex-direction:column;align-items:center;position:relative;padding-top:6px}.tl-dot{width:12px;height:12px;border-radius:50%;background:#ccc;flex-shrink:0;box-shadow:0 0 0 3px #fff,0 0 0 4px currentColor;position:relative;z-index:1;transition:transform var(--tl-transition)}.tl-row:hover .tl-dot{transform:scale(1.25)}.tl-axis-date{display:flex;flex-direction:column;align-items:center;margin-top:3px;line-height:1.2}.tl-axis-d1{font-size:10px;font-weight:700;text-align:center;white-space:nowrap}.tl-axis-d2{font-size:9px;color:#999;text-align:center;white-space:nowrap}.tl-axis-line{flex:1;width:2px;min-height:20px;background:var(--tl-axis-line);margin-top:4px;border-radius:1px}.tl-card{--card-color: #888;all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:5px;padding:12px 15px;background:#fff;border-radius:var(--tl-card-radius);border:1px solid #e0e5f0;cursor:pointer;max-width:420px;min-width:200px;width:100%;transition:box-shadow var(--tl-transition),transform var(--tl-transition),border-color var(--tl-transition);box-shadow:0 1px 4px #0000000d;position:relative;text-align:left;font-family:inherit}.tl-card--left{border-left:4px solid var(--card-color)}.tl-card--right{border-right:4px solid var(--card-color)}.tl-card:hover{box-shadow:0 6px 20px #0000001a;border-color:#c8d0e8}.tl-card--left:hover{transform:translate(-3px)}.tl-card--right:hover{transform:translate(3px)}.tl-card--selected{box-shadow:0 0 0 2px var(--card-color),0 6px 20px #0000001f;border-color:var(--card-color)}.tl-card-tags{display:flex;flex-wrap:wrap;gap:4px}.tl-tag{display:inline-block;padding:2px 7px;border-radius:10px;font-size:.7rem;font-weight:700;letter-spacing:.02em}.tl-tag--inv{background:#f0f2f8;color:#666}.tl-tag--warn{background:#fef3c7;color:#92400e}.tl-card-title{font-family:var(--tl-font-serif);font-size:.92rem;font-weight:600;color:#1a1a2e;line-height:1.35}.tl-card-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.77rem;color:#777}.tl-card-date,.tl-card-loc{display:inline-flex;align-items:center;gap:3px}.tl-card-source-badge{font-size:.72rem;color:var(--card-color);font-weight:600}.tl-card-hint{font-size:.68rem;color:#bbb;font-style:italic;margin-top:2px}.tl-year-sep{display:flex;align-items:center;gap:0;margin:16px 0 8px;padding:0 8px}.tl-year-sep-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,#d0d8ea,transparent)}.tl-year-sep-label{padding:4px 20px;background:#1c2d3c;color:#fff;border-radius:20px;font-size:.82rem;font-weight:700;letter-spacing:.08em;flex-shrink:0}.tl-month-sep{display:flex;align-items:center;gap:0;margin:8px 0 4px;padding:0 8px;opacity:.7}.tl-month-sep-line{flex:1;height:1px;background:#e0e5f0}.tl-month-sep-label{padding:2px 12px;font-size:.72rem;font-style:italic;color:#999;flex-shrink:0}.tl-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:tl-fade-in .2s ease}@keyframes tl-fade-in{0%{opacity:0}to{opacity:1}}.tl-panel{position:fixed;top:0;right:0;bottom:0;width:var(--tl-panel-w);max-width:95vw;background:#fff;box-shadow:-4px 0 24px #00000026;z-index:101;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.tl-panel--open{transform:translate(0)}.tl-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-top:4px solid #ccc;border-bottom:1px solid #eef0f8;flex-shrink:0}.tl-panel-pills{display:flex;flex-wrap:wrap;gap:6px;flex:1}.tl-side-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.72rem;font-weight:700;letter-spacing:.03em}.tl-side-pill--left{background:#2c5f8a1f;color:#2c5f8a}.tl-side-pill--right{background:#6a2c8a1f;color:#6a2c8a}.tl-panel-tag{display:inline-block;padding:3px 9px;border-radius:12px;font-size:.72rem;font-weight:700}.tl-panel-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#999;padding:2px 6px;border-radius:6px;line-height:1;transition:background .15s,color .15s;flex-shrink:0;font-family:inherit}.tl-panel-close:hover{background:#f0f2f8;color:#333}.tl-panel-title{font-family:var(--tl-font-serif);font-size:1.15rem;font-weight:700;color:#1a1a2e;line-height:1.4;margin:16px 20px 10px}.tl-panel-meta{display:flex;flex-direction:column;gap:5px;padding:0 20px 12px;font-size:.84rem;color:#555;border-bottom:1px solid #eef0f8}.tl-panel-cats{display:flex;flex-wrap:wrap;gap:6px;padding:12px 20px 8px}.tl-panel-cat{padding:3px 10px;border:1.5px solid #ccc;border-radius:10px;font-size:.75rem;color:#555;font-weight:600}.tl-panel-desc{padding:12px 20px;font-size:.88rem;color:#333;line-height:1.7;border-bottom:1px solid #eef0f8;margin:0;overflow-y:auto;max-height:200px}.tl-panel-sources{padding:14px 20px;flex:1;overflow-y:auto}.tl-panel-sources-header{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;margin-bottom:10px}.tl-panel-no-src{font-size:.83rem;color:#aaa;font-style:italic;margin:0}.tl-panel-src-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tl-panel-src-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:#f7f8fc;border-radius:8px;border-left:3px solid #c8d0e8}.tl-panel-src-name{font-size:.85rem;font-weight:600;color:#1a1a2e}.tl-panel-src-note{font-size:.78rem;color:#777;font-style:italic}@media screen and (max-width: 960px){:root{--tl-panel-w: 360px}.tl-card{max-width:300px;min-width:160px}.tl-toolbar{padding:12px 16px 10px}.tl-body{padding:8px 16px 0}}@media screen and (max-width: 640px){:root{--tl-axis-w: 56px}.tl-card{max-width:200px;min-width:120px;padding:8px 10px}.tl-card-title{font-size:.82rem}.tl-card-meta{font-size:.7rem}.tl-card-hint{display:none}.tl-chips{gap:5px}.tl-chip{padding:4px 9px;font-size:.72rem}}.chrono-bio{display:flex;flex-direction:column;gap:12px;font-family:var(--font-main, "EB Garamond", serif);color:var(--secondary-dark, #1a1a1a);padding:16px 8px}.chrono-bio__loading,.chrono-bio__error,.chrono-bio__empty{padding:32px;text-align:center;font-size:.95rem;color:#666}.chrono-bio__error{color:#b00}.chrono-bio__empty-hint{font-size:.85rem;color:#888;margin-top:8px}.chrono-bio__legend{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:8px 12px;background:#f7f4ef;border:1px solid #e0d8cc;border-radius:6px;font-size:.78rem}.chrono-bio__legend-title{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#555;margin-right:4px}.chrono-bio__legend-item{display:flex;align-items:center;gap:4px}.chrono-bio__legend-swatch{width:14px;height:10px;border-radius:2px;flex-shrink:0}.chrono-bio__legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.chrono-bio__legend-sep{width:1px;height:16px;background:#ccc;margin:0 4px}.chrono-bio__body{display:flex;gap:0;align-items:flex-start;overflow-x:hidden}.chrono-bio__frise{position:relative;flex:1;min-width:0;display:flex;gap:0;border-left:2px solid #ccc;margin-left:4px;transition:flex .3s ease}.chrono-bio__axis{position:relative;width:52px;flex-shrink:0}.chrono-bio__tick{position:absolute;left:0;width:100%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;pointer-events:none}.chrono-bio__tick-label{font-size:.72rem;color:#888;width:36px;text-align:right;flex-shrink:0;-webkit-user-select:none;user-select:none}.chrono-bio__tick-line{flex:1;height:1px;background:#ddd}.chrono-bio__sections-col{position:relative;flex:3;min-width:200px}.chrono-bio__section-band{position:absolute;left:4px;right:4px;border-radius:4px;cursor:pointer;transition:opacity .15s,box-shadow .15s,transform .1s;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:4px 8px;box-sizing:border-box;min-height:24px}.chrono-bio__section-band:hover{opacity:1!important;box-shadow:0 2px 8px #0003;z-index:10}.chrono-bio__section-band--selected{box-shadow:0 0 0 2px #333,0 3px 10px #00000040;z-index:20;transform:scaleX(1.01)}.chrono-bio__section-label{font-size:.78rem;font-weight:600;color:#000000bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.chrono-bio__section-dates{font-size:.68rem;color:#0000008c;line-height:1.2}.chrono-bio__verified{color:#2a7a2a;margin-left:4px;font-size:.75rem}.chrono-bio__events-col{position:relative;flex:5;min-width:280px;padding-left:12px;border-left:1px dashed #ddd}.chrono-bio__event-marker{position:absolute;left:0;right:0;height:32px;display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 6px;border-radius:4px;transition:background .15s;z-index:5;box-sizing:border-box}.chrono-bio__event-marker:hover{background:#0000000f}.chrono-bio__event-marker--selected{background:#0000001a;font-weight:600}.chrono-bio__event-dot{width:10px;height:10px;border-radius:50%;border:2px solid currentColor;flex-shrink:0}.chrono-bio__event-label{font-size:.82rem;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.chrono-bio__event-year{font-size:.68rem;color:#888;font-variant-numeric:tabular-nums}.chrono-bio__sources-panel{width:260px;flex-shrink:0;background:#faf8f4;border-left:2px solid #d4c9bb;padding:16px 14px;position:sticky;top:0;max-height:100%;overflow-y:auto;align-self:flex-start}.chrono-bio__sources-header{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;position:relative}.chrono-bio__sources-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#888;margin:0}.chrono-bio__sources-subject{font-size:.95rem;font-weight:700;color:#333;margin:0;padding-right:24px}.chrono-bio__sources-close{position:absolute;top:0;right:0;background:none;border:none;cursor:pointer;font-size:.9rem;color:#999;padding:0;line-height:1}.chrono-bio__sources-close:hover{color:#333}.chrono-bio__sources-subtitle{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#aaa;margin:0 0 8px}.chrono-bio__sources-loading,.chrono-bio__sources-empty{font-size:.82rem;color:#999;font-style:italic}.chrono-bio__sources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.chrono-bio__source-item{display:flex;gap:8px;font-size:.82rem;border-bottom:1px solid #ede8e0;padding-bottom:10px}.chrono-bio__source-icon{font-size:1rem;flex-shrink:0;margin-top:1px}.chrono-bio__source-meta{display:flex;flex-direction:column;gap:2px}.chrono-bio__source-author,.chrono-bio__source-year{color:#666}.chrono-bio__source-citation{margin:4px 0 0;padding:4px 8px;border-left:2px solid #c9bfb0;color:#555;font-style:italic;font-size:.78rem}.chrono-bio__source-badge{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:10px;background:#d6f0d6;color:#2a6a2a;font-size:.7rem;font-weight:600}@media (max-width: 700px){.chrono-bio__body{flex-direction:column}.chrono-bio__sources-panel{width:100%;border-left:none;border-top:2px solid #d4c9bb;position:static}.chrono-bio__legend{font-size:.72rem}}.ecv-root{display:flex;flex-direction:column;gap:10px;padding:12px 8px;font-family:inherit}.ecv-legend{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--color-text-muted);font-style:italic;margin-bottom:2px}.ecv-legend-left{flex:1;text-align:right}.ecv-legend-right{flex:1}.ecv-legend-center{width:40px;flex-shrink:0;height:1px;background:var(--color-border)}.ecv-filter-row{display:flex;flex-wrap:wrap;gap:6px}.ecv-level-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-bg);font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;transition:border-color .15s,background .15s,color .15s;font-family:inherit}.ecv-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ecv-dist-hint{font-size:.75rem;color:var(--color-text-muted);font-style:italic;margin:0}.ecv-dist-row{display:flex;align-items:center;gap:8px}.ecv-dist-label{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap}.ecv-dist-slider{flex:1;accent-color:#6a2c8a;cursor:pointer}.ecv-dist-val{font-size:.75rem;font-weight:600;color:#6a2c8a;min-width:56px;text-align:right}.ecv-loading,.ecv-empty{text-align:center;color:var(--color-text-muted);font-style:italic;padding:16px;font-size:.875rem}.ecv-timeline{display:flex;flex-direction:column}.ecv-year-sep,.ecv-month-sep{display:flex;align-items:center;gap:8px;margin:6px 0}.ecv-sep-line{flex:1;height:2px;background:var(--color-border);border-radius:1px}.ecv-sep-line.thin{height:1px}.ecv-sep-year{font-size:.8125rem;font-weight:700;color:var(--color-text-secondary);white-space:nowrap}.ecv-sep-month{font-size:.6875rem;color:var(--color-text-muted);white-space:nowrap}.ecv-row{display:grid;grid-template-columns:1fr 40px 1fr;align-items:flex-start;min-height:20px}.ecv-col{padding:4px 8px}.ecv-axis{display:flex;flex-direction:column;align-items:center;position:relative;padding-top:8px}.ecv-dot-axis{width:9px;height:9px;border-radius:50%;flex-shrink:0;z-index:1}.ecv-axis-l1{font-size:.625rem;font-weight:700;line-height:1.1;text-align:center;margin-top:2px}.ecv-axis-l2{font-size:.5625rem;color:var(--color-text-muted);text-align:center;line-height:1.1}.ecv-axis-line{flex:1;width:2px;background:var(--color-border);min-height:16px;margin-top:2px}.ecv-card{width:100%;background:var(--color-surface);border-radius:8px;padding:10px 12px;text-align:left;border:none;cursor:pointer;transition:box-shadow .15s,transform .1s;font-family:inherit}.ecv-card:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.ecv-card-left{border-left:3px solid #888}.ecv-card-right{border-right:3px solid #888;text-align:right}.ecv-tag-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}.ecv-card-right .ecv-tag-row{justify-content:flex-end}.ecv-tag{font-size:.625rem;font-weight:600;padding:2px 6px;border-radius:10px;letter-spacing:.2px}.ecv-warn-tag{font-size:.625rem;padding:2px 6px;border-radius:10px;background:#fff3cd;color:#7a6000}.ecv-card-title{font-size:.8125rem;font-weight:600;color:var(--color-text);margin:0 0 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ecv-card-period{font-size:.6875rem;color:var(--color-text-secondary);margin:0 0 1px}.ecv-card-loc{font-size:.6875rem;color:var(--color-text-muted);margin:0 0 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecv-src-badge{font-size:.625rem;color:var(--color-text-muted);margin:3px 0 0}.ecv-tap-hint{font-size:.5625rem;color:var(--color-text-muted);font-style:italic;margin:3px 0 0}.ecv-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:flex-end;justify-content:flex-end}.ecv-detail-panel{background:var(--color-surface);width:min(420px,100vw);height:100vh;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:-4px 0 20px #0003;animation:ecv-slide-in .2s ease}@keyframes ecv-slide-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.ecv-detail-header{display:flex;align-items:flex-start;justify-content:space-between;border-left:4px solid #888;padding-left:10px;gap:8px}.ecv-detail-pills{display:flex;flex-wrap:wrap;gap:5px;flex:1}.ecv-side-pill{font-size:.625rem;font-weight:700;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.4px}.ecv-side-pill.left{background:#2c5f8a22;color:#2c5f8a}.ecv-side-pill.right{background:#8a2c2c22;color:#8a2c2c}.ecv-detail-tag{font-size:.625rem;font-weight:600;padding:3px 8px;border-radius:10px}.ecv-detail-close{background:none;border:none;font-size:1rem;color:var(--color-text-muted);cursor:pointer;padding:0;flex-shrink:0}.ecv-detail-close:hover{color:var(--color-text)}.ecv-detail-title{font-size:1.0625rem;font-weight:700;color:var(--color-text);margin:0;font-family:Georgia,serif}.ecv-detail-meta{display:flex;flex-direction:column;gap:3px;font-size:.8125rem;color:var(--color-text-secondary)}.ecv-detail-desc{font-size:.875rem;color:var(--color-text);line-height:1.5;margin:0}.ecv-detail-chips{display:flex;flex-wrap:wrap;gap:5px}.ecv-detail-chip{font-size:.6875rem;padding:3px 8px;border-radius:10px;font-weight:500}.ecv-detail-sources-section{background:var(--color-bg);border-radius:8px;padding:12px}.ecv-detail-sources-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ecv-detail-sources-title{font-size:.75rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.ecv-detail-link{font-size:.75rem;color:#6a2c8a;text-decoration:none}.ecv-detail-link:hover{text-decoration:underline}.ecv-detail-loading,.ecv-detail-no-src{font-size:.8125rem;color:var(--color-text-muted);font-style:italic;margin:0}.ecv-detail-refs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ecv-detail-ref{display:flex;align-items:flex-start;gap:6px;font-size:.8125rem}.ecv-detail-ref-icon{flex-shrink:0;font-size:.875rem}.ecv-detail-ref-name{color:var(--color-text);font-weight:500;flex:1}.ecv-detail-ref-note{font-size:.6875rem;color:var(--color-text-muted);font-style:italic;display:block}.ecv-wiki-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#36c;color:#fff;font-size:.625rem;font-weight:700;text-decoration:none;flex-shrink:0;line-height:1}.ecv-wiki-badge:hover{background:#254e9e}.ecv-detail-wiki-link{display:inline-block;font-size:.8125rem;color:#36c;text-decoration:none;font-weight:500}.ecv-detail-wiki-link:hover{text-decoration:underline}.ecv-wiki-panel{display:flex;flex-direction:column;gap:8px;background:#f0f4ff;border:1px solid #c5d4f5;border-radius:8px;padding:10px 12px}.ecv-wiki-panel.ecv-wiki-drag-over{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 2px #3b82f640;transition:all .15s ease}.ecv-wiki-search-row{display:flex;gap:6px}.ecv-wiki-input{flex:1;height:36px;border:1px solid #c5d4f5;border-radius:6px;padding:0 10px;font-size:.8125rem;font-family:inherit;background:#fff;color:var(--color-text);outline:none}.ecv-wiki-input:focus{border-color:#36c}.ecv-wiki-search-btn{height:36px;padding:0 14px;background:#36c;color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s}.ecv-wiki-search-btn:hover:not(:disabled){background:#254e9e}.ecv-wiki-search-btn:disabled{opacity:.6;cursor:default}.ecv-wiki-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.ecv-wiki-result{display:flex;align-items:flex-start;gap:8px;background:#fff;border-radius:6px;padding:8px 10px;border:1px solid #dde6f8;cursor:pointer;transition:border-color .12s,background .12s}.ecv-wiki-result:hover{border-color:#36c;background:#f5f8ff}.ecv-wiki-result.selected{border-color:#36c;background:#eaf0ff}.ecv-wiki-result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ecv-wiki-result-arrow{color:#36c;font-size:1rem;align-self:center;flex-shrink:0}.ecv-wiki-result-title{font-size:.8125rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecv-wiki-result-snippet{font-size:.6875rem;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ecv-wiki-import-btn{flex-shrink:0;height:28px;padding:0 10px;background:#36c;color:#fff;border:none;border-radius:5px;font-size:.75rem;font-family:inherit;cursor:pointer;transition:background .15s;align-self:center}.ecv-wiki-import-btn:hover:not(:disabled){background:#254e9e}.ecv-wiki-import-btn:disabled{opacity:.6;cursor:default}.ecv-wiki-preview{background:#fff;border:1px solid #3366cc;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.ecv-wiki-preview-loading{font-size:.8125rem;color:var(--color-text-muted);font-style:italic;margin:0}.ecv-wiki-preview-title{font-size:.9375rem;font-weight:700;color:var(--color-text);margin:0}.ecv-wiki-preview-desc{font-size:.8125rem;color:#36c;font-style:italic;margin:0}.ecv-wiki-preview-extract{font-size:.75rem;color:var(--color-text-secondary);line-height:1.45;margin:0}.ecv-wiki-preview-date-row{display:flex;align-items:center;gap:8px;margin-top:2px}.ecv-wiki-preview-date-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.ecv-wiki-preview-date-input{flex:1;height:32px;border:1px solid #c5d4f5;border-radius:5px;padding:0 8px;font-size:.8125rem;font-family:inherit;background:#f8faff;outline:none}.ecv-wiki-preview-date-input:focus{border-color:#36c}.ecv-wiki-preview-actions{display:flex;justify-content:flex-end;gap:6px}.ecv-wiki-preview-cancel{height:30px;padding:0 12px;background:none;border:1px solid var(--color-border);border-radius:5px;font-size:.75rem;font-family:inherit;color:var(--color-text-secondary);cursor:pointer}.ecv-wiki-preview-cancel:hover{border-color:#999}.ecv-wiki-preview-link-btn{height:30px;padding:0 12px;background:none;border:1px solid #3366cc;border-radius:5px;font-size:.75rem;font-family:inherit;color:#36c;text-decoration:none;display:inline-flex;align-items:center;gap:4px;cursor:pointer;transition:background .12s}.ecv-wiki-preview-link-btn:hover{background:#eaf0ff}.family-tree-container{max-width:1120px;margin:32px auto;padding:24px;background:linear-gradient(135deg,#0704a205,#0704a203);border-radius:12px}.family-tree-embedded .family-tree-container{max-width:100%;margin:0}.tree-title{text-align:center;font-size:2rem;color:var(--primary-dark-blue);margin-bottom:32px;font-weight:600}.loading,.error{text-align:center;padding:48px 16px;font-size:1.2rem;color:#666}.error{color:#d32f2f}.tree-level{display:flex;justify-content:center;align-items:center;gap:32px;margin-bottom:0;flex-wrap:wrap}.grandparents-level{gap:72px;position:relative}.grandparents-group{display:flex;Position:relative;gap:2px}.parents-level{gap:2px;position:relative}.main-level{position:relative;gap:2px;justify-content:center}.siblings-group{display:flex;gap:2px;flex-wrap:wrap}.main-person-group{display:flex;gap:2px;align-items:center}.children-level{gap:16px;position:relative}.tree-connectors{width:100%;display:block;margin:0;overflow:visible}.grandparents-connectors{height:70px;margin-bottom:0}.parents-connectors{height:40px;margin-bottom:0}.children-connectors{height:72px;margin-bottom:0;position:relative;z-index:0}.parents-connectors{height:80px;position:relative;z-index:0}.couple-connector{display:block;margin:0;overflow:visible;flex-shrink:0}.grandparents-couple{width:16px;height:128px}.parents-couple{width:16px;height:128px;flex-shrink:0}.spouse-couple{width:16px;height:128px;align-self:center}.tree-connectors path,.couple-connector line{stroke:var(--primary-dark-blue);stroke-width:2;fill:none}.tree-connectors path{vector-effect:non-scaling-stroke}.family-tree-card{width:128px;height:128px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px;background:#fff;border-radius:12px;border:2px solid rgba(7,4,162,.2);box-shadow:0 2px 8px #00000014;transition:all .3s ease;cursor:pointer;position:relative;z-index:1}.family-tree-card:hover{border-color:var(--primary-dark-blue);box-shadow:0 4px 12px #0704a233;transform:translateY(-2px)}.family-tree-card.placeholder{border-style:dashed;border-color:#0704a226;background:#0704a205}.family-tree-card.placeholder:hover{border-color:#0704a24d;box-shadow:0 4px 12px #0704a21a;transform:translateY(-2px);cursor:pointer}.card-image-container{width:70%;height:100px;flex-shrink:0;border-radius:8px;margin-top:3px;overflow:hidden;background:#8282961d;display:flex;align-items:center;justify-content:center;position:relative}.card-image{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:var(--primary-dark-blue);background:linear-gradient(135deg,#0704a21a,#0704a20d)}.card-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;overflow:hidden;text-align:center}.card-name{margin:0;font-size:.85rem;font-weight:600;color:var(--primary-dark-blue);line-height:1.2;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.card-dates{margin:0;font-size:.7rem;color:#666;white-space:nowrap}.card-actions{position:absolute;top:4px;right:4px;display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .2s ease;z-index:2}.family-tree-card:hover .card-actions{opacity:1}.card-action-btn{width:16px;height:16px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.65rem;transition:transform .2s ease;padding:1px;margin:0;outline:none;line-height:1}.card-action-btn:hover{transform:scale(1.1);border:1px solid gray;border-radius:5px}.card-action-btn:active{transform:scale(.55);border:1px solid red;border-radius:5px}.family-tree-container{--card-width: 160px;--card-height: 160px;--card-gap: 40px;--card-gap-small: 20px;--grandparents-gap: 90px;--connector-stroke: 2px}.family-tree-card{width:var(--card-width);height:var(--card-height);flex-shrink:0}.main-level-multiple-unions{display:flex;flex-direction:column;align-items:center;gap:0;position:relative;width:100%}.couples-and-siblings-row{display:flex;align-items:center;gap:32px;position:relative}.all-couples-container{display:flex;align-items:center;gap:2px;position:relative}.multiple-unions-children-wrapper{display:flex;gap:0;align-items:flex-start;justify-content:center;position:relative;padding:0;margin-top:0;width:100%}.union-family-column{display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative}.has-multiple-unions .union-family-column-first{margin-right:0}.has-multiple-unions .union-family-column-second{margin-left:20%}.couple-to-children-connector{display:block;overflow:visible}.union-children-row{display:flex;align-items:center;gap:24px}@media screen and (max-width: 1024px){.couples-and-siblings-row{gap:24px}.has-multiple-unions .union-family-column-first{margin-right:48px}.has-multiple-unions .union-family-column-second{margin-left:48px}.union-children-row{gap:16px}}@media screen and (max-width: 768px){.couples-and-siblings-row{flex-direction:column;gap:16px}.multiple-unions-children-wrapper{flex-direction:column;gap:0}.has-multiple-unions .union-family-column-first{margin-right:0;margin-bottom:40px}.has-multiple-unions .union-family-column-second{margin-left:0;margin-top:40px}.union-family-column{width:100%!important;min-width:100%!important}.union-children-row{flex-wrap:wrap;justify-content:center}}@media screen and (max-width: 1024px){.grandparents-level{gap:48px}.parents-level{gap:32px}.tree-level{gap:16px}}@media screen and (max-width: 768px){.family-tree-container{padding:16px}.tree-title{font-size:1.5rem;margin-bottom:30px}.family-tree-card{width:130px;height:150px}.card-image-container{height:90px}.card-name{font-size:.8rem}.card-dates{font-size:.65rem}.grandparents-level{gap:40px}.grandparents-group{gap:15px}.parents-level{gap:30px}}@media screen and (max-width: 480px){.family-tree-card{width:120px;height:140px;padding:8px;gap:6px}.card-image-container{height:85px}.card-name{font-size:.75rem}.card-dates{font-size:.6rem}.grandparents-level,.parents-level{flex-direction:column;gap:15px}.grandparents-group{flex-direction:column;gap:10px}.tree-connectors{display:none}}.siblings-group .family-tree-card{transform:scale(.88);transform-origin:top center;opacity:.82;transition:transform .2s,opacity .2s}.siblings-group .family-tree-card:hover{transform:scale(.93);opacity:1}.siblings-group:before{content:"Fratrie";display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7a6e5c;text-align:center;margin-bottom:4px}.family-tree-card--self{box-shadow:0 0 0 2.5px var(--primary-dark-blue, #1c2d3c),0 4px 14px #1c2d3c2e;border-radius:10px}.family-tree-card--navigable{cursor:pointer;transition:transform .15s,box-shadow .15s}.family-tree-card--navigable:hover{transform:translateY(-3px);box-shadow:0 6px 18px #1c2d3c2e}.ftc-viewport{width:100%;height:560px;overflow:hidden;background:#f8f9fb;border-radius:10px;border:1px solid #e0e4ec;position:relative;cursor:grab;-webkit-user-select:none;user-select:none}.ftc-viewport:active{cursor:grabbing}.ftc-canvas{will-change:transform}.ftc-card{box-sizing:border-box;background:#fff;border-radius:6px;border:1px solid #dde2ec;border-right-width:3px;border-bottom-width:3px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px 6px 6px;position:relative;overflow:hidden;transition:box-shadow .15s,transform .15s;box-shadow:0 1px 4px #00000012}.ftc-card:hover{box-shadow:0 4px 14px #00000021;transform:translateY(-1px)}.ftc-card--self{background:#0704a20d;border-color:#0704a266;border-right-color:#0704a2b3;border-bottom-color:#0704a2b3;box-shadow:0 0 0 2px #0704a233,0 2px 8px #0000001a}.ftc-card--empty{border-style:dashed;border-color:#c5cad8;background:#f0f2f8;cursor:pointer;display:flex;align-items:center;justify-content:center}.ftc-card--empty:hover{border-color:#8990b0;background:#e8ebf5}.ftc-card-add{font-size:1.6rem;color:#9098b8;font-weight:300;line-height:1}.ftc-card-avatar{position:absolute;top:4px;right:5px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.ftc-card-content{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;padding-top:6px;padding-right:16px;overflow:hidden}.ftc-card-firstname{font-size:10px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ftc-card-lastname{font-size:11px;font-weight:700;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ftc-card-dates{font-size:9px;color:#888;margin-top:2px;white-space:nowrap}.ftc-card-actions{position:absolute;top:3px;left:4px;display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .15s}.ftc-card:hover .ftc-card-actions{opacity:1}.ftc-card-btn{background:none;border:none;padding:0;width:16px;height:16px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:background .1s}.ftc-card-btn:hover{background:#00000014}.ftc-card-btn--delete:hover{background:#dc26261f}.ftc-zoom-controls{position:absolute;bottom:12px;right:12px;display:flex;flex-direction:column;gap:4px;z-index:10}.ftc-zoom-btn{width:32px;height:32px;background:#fff;border:1px solid #d0d5e8;border-radius:6px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0000001a;transition:background .15s;color:#333}.ftc-zoom-btn:hover{background:#f0f2ff;border-color:#a0a8d0}.ftc-legend{position:absolute;bottom:12px;left:12px;display:flex;gap:16px;background:#ffffffe6;border:1px solid #e0e4ec;border-radius:6px;padding:6px 12px;font-size:.78rem;color:#555}.ftc-legend-item{display:flex;align-items:center;gap:6px}.ftc-legend-solid{display:inline-block;width:24px;height:2px;background:#bbb;border-radius:1px}.ftc-legend-dashed{display:inline-block;width:24px;height:0;border-top:2px dashed #999}.ftc-list{padding:16px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;max-height:560px}.ftc-central{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border-radius:10px;border-left:4px solid var(--primary-dark-blue, #1c2d3c);box-shadow:0 2px 8px #00000012}.ftc-central-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;flex-shrink:0}.ftc-central-name{font-size:1.05rem;font-weight:700;color:#1a1a2e}.ftc-central-dates{font-size:.85rem;color:#666;margin-top:2px}.ftc-section{background:#fff;border-radius:10px;padding:14px;box-shadow:0 2px 8px #0000000f}.ftc-section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ftc-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#555}.ftc-section-badge{background:var(--primary-dark-blue, #1c2d3c);color:#fff;font-size:.72rem;font-weight:700;border-radius:10px;padding:1px 7px}.ftc-member-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s}.ftc-member-card:hover{background:#f5f7ff}.ftc-member-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0}.ftc-member-body{flex:1;overflow:hidden}.ftc-member-role{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888}.ftc-member-name{font-size:.9rem;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ftc-member-dates{font-size:.78rem;color:#777}.ftc-toggle{display:flex;gap:8px;margin-bottom:16px}.ftc-toggle-btn{padding:8px 20px;border:1.5px solid #d0d5e8;border-radius:20px;background:#fff;font-size:.88rem;font-weight:600;color:#555;cursor:pointer;transition:all .15s;font-family:inherit}.ftc-toggle-btn.active{background:var(--primary-dark-blue, #1c2d3c);border-color:var(--primary-dark-blue, #1c2d3c);color:#fff}.ftc-toggle-btn:hover:not(.active){border-color:var(--primary-dark-blue, #1c2d3c);color:var(--primary-dark-blue, #1c2d3c)}.Ancestorview-container{display:flex;align-items:flex-start;justify-content:center;width:calc(100vw - 80px);max-width:1600px;height:auto;margin:20px auto 0;overflow:visible}.Ancestorview-container .cards{display:flex;align-self:flex-start;flex-wrap:wrap;justify-content:center;padding:10px;margin:0;flex:0 0 auto;min-width:280px}.Ancestor-details{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:auto;margin:5px;padding:5px;background-color:#fff;border-radius:5px;overflow:hidden}.ancestor-map{flex:1;min-width:400px;max-width:600px;height:400px;transition:all .5s cubic-bezier(.4,0,.2,1);border-radius:8px;overflow:hidden}.Ancestor-actions{position:absolute;top:0;right:0;display:flex;flex-direction:row;align-items:center;justify-content:center;width:fit-content;border:none;border-radius:0 3px 0 10px}.container-details-map{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;width:100%;height:auto;min-height:400px;gap:15px;margin-bottom:20px;border:2px solid #e0e0e0;border-radius:8px;overflow:visible;transition:all .5s cubic-bezier(.4,0,.2,1);padding:20px;background-color:#fff;box-shadow:0 2px 8px #00000014}.container-details-map .ancestor-card{flex:0 0 auto;width:300px;min-width:260px;max-width:320px;height:auto;display:flex;flex-direction:column;justify-content:flex-start;align-self:flex-start;padding:15px;margin:0;background-color:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000d;overflow:visible}.ancestor-parents-info{display:flex;margin-top:5px;padding:5px;background-color:#f5f5f5;border-radius:5px}.ancestor-parents-info div{justify-content:space-evenly;font-size:14px;color:#333;margin-inline:10px;padding:3px 0}.ancestor-parents-info div:last-child{margin-bottom:0}.container-details-map .ancestor-map{flex:1;min-width:280px;max-width:none;height:400px;display:flex;align-self:flex-start;padding:0;margin:0;background-color:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden;box-shadow:0 1px 3px #0000000d}.container-details-map .sources-panel{flex:0 0 auto;width:260px;min-width:220px;max-width:260px;height:auto;max-height:500px;display:flex;flex-direction:column;align-self:flex-start;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:15px;margin:0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.container-details-map .sources-panel h3{margin:0 0 12px;padding:8px 0;font-size:1.2em;font-weight:600;color:#333;text-align:center;border-bottom:2px solid #007bff}.container-details-map .sources-container{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:8px;margin-top:8px}.sources-panel .sources-list{list-style-type:none;padding:0;margin:0}.sources-panel .source-item{margin-bottom:12px;padding:12px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s ease}.sources-panel .source-item:hover{border-color:#007bff;box-shadow:0 2px 6px #007bff26;transform:translateY(-1px)}.sources-panel .source-item strong{font-size:.95rem;color:#007bff;display:block;margin-bottom:4px}.sources-panel .source-item em{color:#666;font-size:.85rem;display:block;margin-bottom:6px}.sources-panel .source-item p{margin:0;font-size:.9rem;color:#555;line-height:1.4}.container-details-map.expanded{padding:8px;margin-bottom:8px;height:fit-content}.Ancestorview-container .container-details-map{margin-bottom:12px;padding:12px;box-shadow:0 2px 8px #0000001a;border-radius:8px}.Ancestor-actions button{background:#fff;color:var(--color-primary);margin:4px;padding:6px 14px;min-width:60px;min-height:28px;border:1.5px solid var(--color-border);border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.Ancestor-actions button:hover{background:#0c44080f;border-color:var(--color-primary)}.gestion-biography{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px}.biography-actions,.edition-biography-btn,.toggle-biography-btn{display:flex;align-items:center;justify-content:center;margin:5px;padding:5px;background-color:transparent;border:1px solid var(--primary-dark-blue);border-radius:5px;cursor:pointer}.error{height:80px;width:auto;background-color:#f008;border:6px solid black;border-radius:15px;align-content:center}.Edit-form{display:flex;position:fixed;top:76px;right:0;flex-direction:row;align-items:flex-start;justify-content:flex-end;width:auto;max-height:calc(100vh - 70px);overflow-y:auto;background-color:transparent;border:none;z-index:1001}.biography{height:fit-content;width:100%;background-color:transparent;border:2px solid var(--primary-dark-blue);border-radius:5px}.biography>p{margin:5px;padding:5px;font-size:1.2em;font-weight:300;text-align:justify;text-indent:35px}.title{background-color:#d3d3d3;border:1px solid red;border-radius:5px;font-size:1.5em;font-weight:900}.scrollable-text{max-height:auto;overflow-y:auto;text-indent:50px;text-align:justify}.test-timeline{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;margin:0;padding:0;border:1px solid #e5e7eb;border-radius:8px;overflow-y:auto;overflow-x:hidden;background-color:#fafafa}.family-tree-section-container{width:100%;margin:20px 0;padding:20px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 2px 8px #00000014}.family-tree-toggle-controls{display:flex;justify-content:center;margin-bottom:15px}.family-tree-toggle-btn{background:var(--color-primary);color:#fff;border:none;padding:8px 20px;border-radius:20px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:6px;font-family:inherit}.family-tree-toggle-btn:hover{background:var(--color-primary-light)}.family-tree-toggle-btn:active{background:var(--color-primary)}.family-tree-embedded{width:100%;margin-top:15px}.biography-container{position:relative;width:100%;margin:20px 0;transition:all .5s cubic-bezier(.4,0,.2,1)}.biography-container.expanded{padding:0}.biography-container.expanded .biography-preview{padding:20px;margin:0;border-radius:8px}.Ancestorview-container .biography-preview{max-height:none;padding:20px;box-shadow:0 2px 8px #00000014}.biography-hidden-toggle{display:flex;justify-content:center;padding:20px}.show-biography-btn{background:#add8e6cc;border:1px solid rgba(100,149,237,.6);border-radius:8px;padding:12px 20px;cursor:pointer;font-size:14px;color:#2c5aa0;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000001a}.show-biography-btn:hover{background:#add8e6f2;border-color:#6495edcc;transform:translateY(-1px);box-shadow:0 3px 12px #00000026}.toggle-details-map-btn{background:#fff;position:absolute;top:5px;left:5px;border:1px solid var(--primary-dark-green);border-radius:8px;padding:10px 16px;cursor:pointer;font-size:14px;color:#2e7d32;transform:translateY(-1px);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000001a;margin:5px}.toggle-details-map-btn:hover{background:#fff;border-color:#4caf50cc;border:1px solid var(--primary-dark-green);cursor:pointer;transition:all .2s ease;box-shadow:0 3px 12px #00000026}.details-map-hidden-toggle{display:flex;justify-content:center;padding:15px;margin:10px 0}.show-details-map-btn{background:#98c998cc;border:1px solid rgba(76,175,80,.6);border-radius:8px;padding:12px 20px;cursor:pointer;font-size:16px;color:#2e7d32;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000001a}.show-details-map-btn:hover{background:#98c998f2;border-color:#4caf50cc;transform:translateY(-1px);box-shadow:0 3px 12px #00000026}.biography-preview{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:800px;padding:20px;background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000014;transition:max-height .3s ease,opacity .3s ease;overflow:hidden}.biography-controls{display:flex;gap:10px;margin-bottom:15px;width:100%;justify-content:center}.Mode-liseuse,.toggle-sections{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.Mode-liseuse:hover,.toggle-sections:hover{background:linear-gradient(135deg,#357abd,#2a5d8a);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.biography-preview.hidden{max-height:0;opacity:0;overflow:hidden}.biography-actions{width:fit-content;height:fit-content;display:flex;border:2px solid black;border-radius:5px;background-color:#add8e6}.reader-modal{z-index:5;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000}.reader-modal-content{background-color:#fff;z-index:3;padding:20px;border-radius:8px;max-width:75%;width:90%;max-height:80%;overflow-y:auto;box-shadow:0 4px 10px #0000004d;position:relative}.reader-text{font-size:1.2rem;line-height:1.8;color:#333;z-index:19;text-indent:2em;text-align:justify}.close-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#333}.close-btn:hover{color:#000}.Mode-liseuse{margin-top:50px;padding:5px;background-color:#007bff;color:#fff;border:2px solid transparent;border-radius:4px;cursor:pointer}.Mode-liseuse:hover{background-color:#0056b3;border:2px solid #003f82}textarea{width:80%;height:500px;padding:20px;border-radius:5px;font-size:1rem;font-family:Arial,sans-serif;resize:none;margin-bottom:20px}textarea:focus{border-color:#007bff;outline:none;box-shadow:0 0 5px #007bff80}.modal-footer{display:flex;justify-content:center;align-items:center;margin-top:20px}.save-btn{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;box-shadow:0 2px 5px #0000001a}.save-btn:hover{background-color:#0056b3}.sources-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000004d;z-index:400;display:flex;justify-content:flex-start;align-items:flex-start;padding:20px}.sources-modal-content{position:fixed;top:20px;left:20px;width:calc(68% - 40px);height:calc(100vh - 40px);background-color:#fff;border:2px solid #333;border-radius:8px;box-shadow:-4px 0 20px #0000004d;display:flex;flex-direction:column;z-index:450;overflow:hidden;animation:slideInFromLeft .4s cubic-bezier(.4,0,.2,1)}.sources-modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:2px solid #007bff;background-color:#f8f9fa;border-radius:6px 6px 0 0}.sources-modal-header h3{margin:0;color:#333;font-size:1.4rem;font-weight:600}.sources-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:5px;border-radius:4px;transition:all .2s ease}.sources-modal-close:hover{background-color:#ff4757;color:#fff;transform:scale(1.1)}.sources-modal-body{flex:1;padding:20px;overflow-y:auto;overflow-x:hidden}.sources-modal-body .sources-list{list-style-type:none;padding:0;margin:0}.sources-modal-body .source-item{margin-bottom:16px;padding:16px;border:1px solid #e0e0e0;border-radius:8px;background-color:#f9f9f9;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.sources-modal-body .source-item:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff33;transform:translateY(-2px);background-color:#fff}.sources-modal-body .source-item strong{font-size:1.1rem;color:#007bff;display:block;margin-bottom:6px}.sources-modal-body .source-item em{color:#666;font-size:.9rem;display:block;margin-bottom:8px}.sources-modal-body .source-item p{margin:0;font-size:1rem;color:#555;line-height:1.5}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 1200px){.sources-modal-content{width:calc(60% - 40px)}}.Ancestorview-container .card:hover{transform:none!important;background-color:#d3d3d3!important;border:2px solid white!important;box-shadow:0 0 5px #0003!important}.ancestor-tabs{display:flex;width:100%;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin:20px 0 0}.ancestor-tab{flex:1;padding:12px 16px;background:#f9fafb;border:none;border-right:1px solid #e5e7eb;cursor:pointer;font-size:.95rem;font-weight:500;color:#6b7280;transition:all .2s ease}.ancestor-tab:last-child{border-right:none}.ancestor-tab.active{background:#2563eb;color:#fff;font-weight:600}.ancestor-tab:hover:not(.active){background:#f3f4f6;color:#374151}.ancestor-tab-content{width:100%;padding:20px 0}.frise-content{display:flex;flex-direction:column;align-items:stretch}.sources-content{display:flex;flex-direction:column}.timeline-tabs{display:flex;border-bottom:2px solid #e5e7eb;margin-bottom:1rem;background-color:#f9fafb;border-radius:8px 8px 0 0}.timeline-tab{padding:.75rem 1.5rem;background-color:transparent;border:none;cursor:pointer;font-weight:500;font-size:.9rem;color:#6b7280;transition:all .2s ease;border-radius:8px 8px 0 0;position:relative}.timeline-tab:hover{color:#374151;background-color:#f3f4f6}.timeline-tab.active{color:#2563eb;background-color:#fff;font-weight:600}.timeline-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:#2563eb}.timeline-tab--events{margin-left:auto;color:#6b7280;border-left:1px solid #e5e7eb;border-radius:0 8px 0 0}.timeline-tab--events:hover{color:#374151;background-color:#f3f4f6}.event-management{padding:1rem;background-color:#fafafa;border-radius:0 0 8px 8px;max-height:fit-content;width:80%;overflow-y:auto}.biography-toggle-controls{position:absolute;top:20px;left:10px;z-index:100;display:flex;justify-content:flex-end;margin-bottom:10px;padding-right:20px}.biography-toggle-btn{background:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:5px;font-family:inherit}.biography-toggle-btn:hover{background:var(--color-primary-light)}.biography-toggle-btn:active{background:var(--color-primary)}.frise-content{position:relative}.event-side-panel{position:fixed;top:0;right:0;width:380px;height:100vh;background:#fff;border-left:1px solid #e5e7eb;box-shadow:-4px 0 20px #0000001f;display:flex;flex-direction:column;z-index:200;animation:slideInFromRight .25s ease}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.event-side-panel__header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;font-weight:600;font-size:.95rem;color:#1f2937;flex-shrink:0}.event-side-panel__close{background:none;border:none;cursor:pointer;font-size:1rem;color:#9ca3af;padding:4px 6px;border-radius:4px;line-height:1;transition:background .15s,color .15s}.event-side-panel__close:hover{background:#f3f4f6;color:#111827}.event-side-panel__body{flex:1;overflow-y:auto;padding:.75rem}.em-mode-toggle{display:flex;gap:6px;margin-bottom:12px}.em-mode-btn{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;color:#6b7280;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.em-mode-btn:hover{background:#f3f4f6;color:#374151}.em-mode-btn--active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8;font-weight:600}.em-link-section{margin-bottom:12px}.em-search-input{width:100%;padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.88rem;outline:none;box-sizing:border-box;margin-bottom:6px}.em-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #bfdbfe}.em-search-hint{font-size:.8rem;color:#9ca3af;padding:4px 2px;margin:0}.em-link-error{font-size:.8rem;color:#dc2626;margin:4px 0}.em-search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.em-search-result{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.em-search-result:hover{background:#f9fafb}.em-search-result__info{display:flex;flex-direction:column;gap:2px;min-width:0}.em-search-result__title{font-size:.85rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.em-search-result__date,.em-search-result__loc{font-size:.75rem;color:#6b7280}.em-search-result__btn{flex-shrink:0;padding:4px 10px;border:1px solid #3b82f6;border-radius:5px;background:#eff6ff;color:#1d4ed8;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s}.em-search-result__btn:hover{background:#dbeafe}.em-manager{display:flex;flex-direction:column;gap:0}.em-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.em-title{font-size:.95rem;font-weight:700;color:var(--color-text);margin:0}.em-add-btn{padding:5px 14px;background:var(--color-primary);color:#fff;border:none;border-radius:20px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.em-add-btn:hover{background:var(--color-primary-light)}.em-error{margin-bottom:10px;padding:8px 12px;border-radius:6px;background:#fef2f2;border:1px solid #fecaca;color:var(--color-error);font-size:.82rem}.em-loading{padding:24px;text-align:center;color:var(--color-text-muted);font-size:.88rem}.em-empty{padding:24px 12px;text-align:center;color:var(--color-text-muted);font-size:.85rem}.em-event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.em-event-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:12px 14px;box-shadow:0 1px 4px #0000000f;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:8px}.em-event-card:hover{box-shadow:0 3px 10px #0000001a;border-color:#c5bdb5}.em-event-card__body{display:flex;flex-direction:column;gap:3px}.em-event-card__title{margin:0;font-size:.9rem;font-weight:700;color:var(--color-text);line-height:1.3}.em-event-card__date{margin:0;font-size:.78rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.em-event-card__location{margin:0;font-size:.78rem;color:var(--color-text-secondary)}.em-event-card__desc{margin:2px 0 0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.em-event-card__badge{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:10px;background:#e8f5e9;color:var(--color-primary);font-size:.72rem;font-weight:600;border:1px solid #c8e6c9}.em-event-card__actions{display:flex;gap:6px;justify-content:flex-end;border-top:1px solid var(--color-border-light);padding-top:8px}.em-event-btn{padding:4px 12px;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.em-event-btn--edit{background:#f0faf0;color:var(--color-primary);border-color:#c8e6c9}.em-event-btn--edit:hover{background:#e8f5e9;border-color:var(--color-primary-light)}.em-event-btn--delete{background:#fff5f5;color:var(--color-error);border-color:#fecaca}.em-event-btn--delete:hover{background:#fef2f2;border-color:#f87171}.input-help{display:block;font-size:.75rem;color:#6b7280;margin-top:.25rem;font-style:italic;line-height:1.2}.input-container{position:relative;margin-bottom:1rem}.form-container{display:flex;min-width:600px;max-width:860px;height:fit-content;justify-content:center;flex-direction:column;align-items:center;background-color:#fff;color:var(--primary-dark-blue);border:1px solid rgba(12,68,8,.15);border-radius:12px;box-shadow:0 2px 12px #00000014;z-index:10;margin:32px auto;padding:32px 24px}.form-container form{display:flex;justify-content:center;flex-direction:column;background-color:transparent;align-items:center;color:var(--primary-dark-blue);padding:5px;border:none;width:95%;height:auto}.input-container{display:grid;grid-template-columns:160px 1fr;column-gap:16px;row-gap:4px;align-items:center;width:100%;max-width:680px;margin-bottom:10px}.dropzone-container,.input-container-image{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:680px;height:150px;margin:10px 0;padding:15px;border:2px solid var(--primary-dark-blue);border-radius:5px;min-height:100px;box-sizing:border-box}.image{display:flex;width:auto;max-width:100%;height:auto;margin:5px 0;text-decoration:underline;color:#fff}.input-style,.input-style-date,.select{grid-column:2;width:100%;margin:0;padding:6px 10px;border-radius:5px;border:2px solid var(--primary-dark-blue);box-sizing:border-box;font-size:14px}.input-style-date{min-width:0}.input-style-date::placeholder{font-size:13px;color:var(--primary-light-blue)}.label-style{grid-column:1;display:flex;align-self:center;color:var(--primary-dark-blue);margin:0;font-size:14px}.input-help{grid-column:2;margin-top:0}.select{height:34px}.modal{display:flex;position:absolute;top:50%;left:40%;background-color:#00800052;align-items:center;justify-content:center;color:var(--primary-dark-blue);padding:5px;border:2px solid var(--primary-dark-blue);border-radius:15px;width:600px}button.click{background-color:#fff;color:var(--primary-dark-blue);text-align:center;text-decoration:none;display:inline-block;font-size:16px;margin:10px;padding:10px;border:3px solid transparent;border-radius:5px;box-shadow:1px 1px 4px var(--primary-dark-blue)}button.click:hover{background-color:none;border:3px solid var(--primary-dark-blue);box-shadow:inset 1px 1px 3px var(--primary-dark-blue)}.test{position:absolute;top:25%;right:30%;border:1px solid var(--primary-dark-blue);border-radius:10px;width:auto;height:auto}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown{max-height:120px;overflow-y:auto;overflow-x:hidden;background-color:#ffffff5b;border:1px solid var(--primary-light-blue);border-radius:5px;padding:10px;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}.react-datepicker__year-dropdown{max-width:60px}.react-datepicker__month-dropdown{width:auto;min-width:60px}.react-datepicker__year-option,.react-datepicker__month-option{padding:2px;cursor:pointer;transition:background-color .3s ease}.react-datepicker__year-option--selected_year,.react-datepicker__month-option--selected_month{background-color:var(--primary-dark-blue);color:#fff;border-radius:5px}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover{background-color:var(--primary-light-blue);border-radius:5px}.input-container:has(select[multiple]){align-items:start}.input-container:has(select[multiple]) .label-style{margin-top:8px}.empty-search-state{max-width:1400px;margin:0 auto;padding:40px 20px}.welcome-section{text-align:center;margin-bottom:60px;padding:60px 20px;background:linear-gradient(135deg,#0704a20d,#0704a205);border-radius:16px}.welcome-section h1{font-size:2.5rem;color:var(--primary-dark-blue);margin-bottom:16px;font-weight:600}.welcome-section p{font-size:1.1rem;color:#666}.recent-section{margin-bottom:60px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{font-size:1.8rem;color:var(--primary-dark-blue);font-weight:600}.view-all-btn{padding:10px 20px;background-color:transparent;color:var(--primary-dark-blue);border:2px solid var(--primary-dark-blue);border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.view-all-btn:hover{background-color:var(--primary-dark-blue);color:#fff;transform:translate(4px)}.ancestors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.ancestor-preview-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .3s ease;border:1px solid rgba(7,4,162,.1)}.ancestor-preview-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0704a226}.ancestor-preview-card .card-header{background:linear-gradient(135deg,var(--primary-dark-blue) 0%,rgba(7,4,162,.8) 100%);padding:20px;color:#fff}.ancestor-preview-card .card-header h3{margin:0;font-size:1.3rem;font-weight:600}.ancestor-preview-card .card-body{padding:20px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(7,4,162,.1)}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:500;color:#666;font-size:.9rem}.info-row .value{color:var(--primary-dark-blue);font-weight:500}.carousel-section{background:linear-gradient(135deg,#0704a205,#0704a20d);padding:40px;border-radius:16px}.sources-carousel{position:relative;display:flex;align-items:center;justify-content:center;gap:20px;padding:40px 0}.carousel-btn{width:50px;height:50px;border-radius:50%;border:2px solid var(--primary-dark-blue);background:#fff;color:var(--primary-dark-blue);font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.carousel-btn:hover{background:var(--primary-dark-blue);color:#fff;transform:scale(1.1)}.carousel-content{flex:1;max-width:600px;display:flex;justify-content:center}.source-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 16px #0000001a;text-align:center;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.source-badge{display:inline-block;padding:6px 16px;background:var(--primary-dark-blue);color:#fff;border-radius:20px;font-size:.85rem;font-weight:500;margin-bottom:16px}.source-card h3{font-size:1.5rem;color:var(--primary-dark-blue);margin:16px 0;font-weight:600}.source-author{font-style:italic;color:#666;margin:8px 0}.source-date{color:#999;font-size:.9rem;margin:8px 0 20px}.details-btn{padding:12px 30px;background:var(--primary-dark-blue);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:auto}.details-btn:hover{background:#0704a2cc;transform:translateY(-2px);box-shadow:0 4px 12px #0704a24d}.carousel-indicators{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;gap:10px}.indicator{width:10px;height:10px;border-radius:50%;background:#0704a24d;cursor:pointer;transition:all .3s ease}.indicator.active{background:var(--primary-dark-blue);width:12px;height:12px}.indicator:hover{background:var(--primary-dark-blue)}.events-list{display:flex;flex-direction:column;gap:16px}.event-item{display:flex;align-items:center;gap:20px;padding:20px;background:#fff;border-radius:12px;border:1px solid rgba(7,4,162,.1);box-shadow:0 2px 6px #0000000d;transition:all .3s ease}.event-item:hover{transform:translate(8px);box-shadow:0 4px 12px #0704a226}.event-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0704a21a,#0704a20d);border-radius:12px;flex-shrink:0}.event-details{flex:1}.event-details h4{margin:0 0 8px;font-size:1.1rem;color:var(--primary-dark-blue);font-weight:600}.event-date{color:#666;font-size:.9rem;margin:4px 0}.event-place{color:#999;font-size:.85rem;margin:4px 0}.event-link-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--primary-dark-blue);background:transparent;color:var(--primary-dark-blue);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.event-link-btn:hover{background:var(--primary-dark-blue);color:#fff;transform:scale(1.1)}.no-data{text-align:center;color:#999;font-style:italic;padding:40px;background:#0704a208;border-radius:12px}@media screen and (max-width: 768px){.welcome-section h1{font-size:1.8rem}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.ancestors-grid{grid-template-columns:1fr}.carousel-section{padding:20px}.sources-carousel{flex-direction:column;gap:16px}.carousel-btn{width:40px;height:40px;font-size:1.5rem}.source-card{padding:30px 20px;min-height:240px}.event-item{flex-wrap:wrap}.event-icon{width:50px;height:50px;font-size:1.5rem}}@media screen and (max-width: 480px){.empty-search-state{padding:20px 12px}.welcome-section{padding:40px 16px;margin-bottom:40px}.welcome-section h1{font-size:1.5rem}.section-header h2{font-size:1.4rem}}.search-results{display:flex;flex-direction:column;border-radius:15px;height:auto;width:100%;justify-content:center;align-items:center;margin-top:20px}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 5vw;align-items:start}.results-grid .card{aspect-ratio:1 / 1.618;overflow:hidden}.results-specs{display:flex;align-items:center;gap:15px}.pagination-select{border:1px solid transparent;background-color:transparent;border-radius:5px;margin-top:20px;margin-bottom:20px;padding:5px;font-size:16px}.pagination-select:hover{border:1px solid var(--secondary-dark);background-color:#fff}.pagination-block{display:flex;justify-content:center;align-items:center;gap:10px;border-radius:5px;margin-top:10px;margin-bottom:10px;padding:5px}.red-border{border-color:red}.blue-border{border-color:#00f}#root{max-width:100vw;margin:0 auto;padding:0;text-align:center;width:100%;height:auto}H1{font-size:2.2em;line-height:1.1;border:none}.reader-text.dyslexic{font-family:OpenDyslexic,sans-serif;text-align:left}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.HomeStyle{font-family:Great Vibes,sans-serif;font-size:3.5em;color:var(--primary-dark-blue)}.main-logo{position:absolute;top:25%;left:50%;transform:translate(-50%);width:auto;height:auto;cursor:pointer}.navbar{position:fixed;top:0;width:100%;background-color:#333;color:#fff;padding:20px;transition:padding .3s,background-color .3s;z-index:1000}.navbar.scrolled{padding:10px;background-color:#222}.sl-page{padding:32px 48px;max-width:1400px;margin:0 auto;min-height:100vh;background:var(--color-bg)}.sl-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--primary-dark-blue)}.sl-title{font-size:2rem;color:var(--primary-dark-blue);margin:0}.sl-btn-add{padding:10px 20px;background:var(--primary-dark-blue);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.sl-btn-add:hover{background:#2c5282;transform:translateY(-1px)}.sl-stats{display:flex;gap:16px;margin-bottom:20px}.sl-stat{flex:1;background:var(--color-surface);border-radius:10px;padding:16px;text-align:center;box-shadow:0 1px 4px #0000000f}.sl-stat-n{display:block;font-size:1.75rem;font-weight:700;color:var(--primary-dark-blue)}.sl-stat-l{font-size:.8125rem;color:var(--color-text-secondary)}.sl-search-row{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.sl-search{flex:1;min-width:220px;padding:9px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:.9375rem;outline:none;background:var(--color-surface);color:var(--color-text);font-family:inherit;transition:border-color .15s}.sl-search:focus{border-color:var(--primary-dark-blue)}.sl-advanced-toggle{padding:8px 14px;border:1.5px solid var(--color-border);border-radius:8px;background:var(--color-surface);font-size:.8125rem;cursor:pointer;color:var(--color-text-secondary);font-family:inherit;transition:border-color .15s,color .15s;white-space:nowrap}.sl-advanced-toggle.open{border-color:var(--primary-dark-blue);color:var(--primary-dark-blue)}.sl-advanced-toggle:hover{border-color:var(--primary-dark-blue)}.sl-reset{padding:8px 14px;border:1.5px solid #ccc;border-radius:8px;background:var(--color-surface);font-size:.8125rem;cursor:pointer;color:#888;transition:all .15s;font-family:inherit}.sl-reset:hover{border-color:#999;color:#333}.sl-natures-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.sl-nature-chip{padding:4px 10px;border:1.5px solid var(--color-border);border-radius:16px;background:var(--color-surface);font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;transition:all .15s;font-family:inherit}.sl-nature-chip.active{background:var(--primary-dark-blue);border-color:var(--primary-dark-blue);color:#fff}.sl-nature-chip:hover:not(.active){border-color:var(--primary-dark-blue);color:var(--primary-dark-blue)}.sl-advanced{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:16px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px}.sl-advanced-row{display:flex;flex-wrap:wrap;gap:12px}.sl-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:160px}.sl-field label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px}.sl-input{padding:7px 10px;border:1.5px solid var(--color-border);border-radius:6px;font-size:.875rem;background:var(--color-bg);color:var(--color-text);font-family:inherit;outline:none}.sl-input:focus{border-color:var(--primary-dark-blue)}.sl-tristates{display:flex;gap:8px;flex-wrap:wrap}.sl-tristate{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1.5px solid #ccc;background:var(--color-bg);font-size:.8125rem;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.sl-tristate-icon{font-size:1rem;font-weight:700;width:16px;text-align:center}.sl-apply-btn{align-self:flex-start;padding:8px 18px;background:var(--primary-dark-blue);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.sl-apply-btn:hover{opacity:.85}.sl-count{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 10px 4px}.sl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.sl-loading,.sl-empty{text-align:center;padding:48px 20px;color:var(--color-text-muted);font-size:1.0625rem}.sl-btn-add-lg{margin-top:16px;padding:12px 28px;background:var(--primary-dark-blue);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;font-family:inherit}.sl-card{background:var(--color-surface);border-radius:10px;padding:14px 16px;cursor:pointer;transition:box-shadow .15s,transform .1s;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px}.sl-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.sl-card-header{display:flex;justify-content:space-between;align-items:center}.sl-nature-badge{display:inline-block;padding:3px 9px;border-radius:12px;background:var(--primary-dark-blue);color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.2px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.sl-card-icons{display:flex;gap:4px;font-size:.875rem}.sl-card-name{font-size:.9375rem;font-weight:600;color:var(--color-text);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sl-card-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.75rem;color:var(--color-text-muted)}.sl-card-desc{font-size:.8125rem;color:var(--color-text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sl-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:flex-end;justify-content:flex-end}.sl-detail-panel{background:var(--color-surface);width:min(460px,100vw);height:100vh;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:-4px 0 20px #0003;animation:sl-slide-in .2s ease}@keyframes sl-slide-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.sl-detail-top{display:flex;justify-content:space-between;align-items:center}.sl-detail-close{background:none;border:none;font-size:1.1rem;color:var(--color-text-muted);cursor:pointer;padding:0}.sl-detail-close:hover{color:var(--color-text)}.sl-detail-title{font-size:1.125rem;font-weight:700;color:var(--color-text);font-family:Georgia,serif;margin:0}.sl-detail-fields{display:flex;flex-direction:column;gap:5px;font-size:.875rem;color:var(--color-text)}.sl-detail-fields strong{color:var(--primary-dark-blue)}.sl-detail-desc{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.sl-detail-citation{border-left:3px solid var(--primary-dark-blue);padding-left:12px;margin:0;font-style:italic;color:var(--color-text-secondary);font-size:.875rem}.sl-media-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.875rem;cursor:pointer;font-family:inherit;font-weight:500;transition:opacity .15s;text-decoration:none;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.sl-media-btn:hover{opacity:.8}.sl-media-btn.audio{border-color:#2c5f8a;color:#2c5f8a}.sl-media-btn.video{border-color:#6a2c8a;color:#6a2c8a}.sl-media-btn.link{border-color:#2c7a5a;color:#2c7a5a}.sl-audio-player{width:100%;margin-top:4px}.sl-video-player{width:100%;max-height:280px;margin-top:4px;border-radius:6px}.sl-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:300;display:flex;align-items:center;justify-content:center}.sl-lightbox-img{max-width:90vw;max-height:90vh;border-radius:4px;object-fit:contain}.sl-lightbox-close{position:fixed;top:16px;right:20px;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}@media (max-width: 768px){.sl-page{padding:16px}.sl-stats{flex-wrap:wrap}.sl-stat{min-width:calc(50% - 8px);flex:none}.sl-grid{grid-template-columns:1fr}.sl-detail-panel{width:100vw;height:90vh;border-radius:16px 16px 0 0}.sl-detail-overlay{align-items:flex-end}}.simple-search-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;height:100%;margin:0;padding:0;border:none;background-color:transparent}.simple-search-input{width:150px;height:35px;border:1px solid var(--primary-dark-blue);border-radius:5px;padding:0 10px;background-color:#fff;outline:none;font-size:1rem}.simple-search-button{display:flex;justify-content:center;align-items:center;width:35px;height:35px;padding:7px;border-radius:25px;background-color:#fff;border:1px solid var(--primary-dark-blue);cursor:pointer;transition:all .3s ease}.simple-search-button:hover{background-color:#f0ead6;border:1px solid black}@media screen and (max-width: 1024px){.simple-search-input{width:150px;height:35px;font-size:.85rem;padding:0 12px}.simple-search-button{width:35px;height:35px;padding:7px}.simple-search-container{gap:6px}}@media screen and (max-width: 768px){.champ-et-loupe-container{flex:1;min-width:0;margin-left:0}.simple-search-container{gap:5px;width:100%}.simple-search-input{width:100%;min-width:80px;height:40px;font-size:.9rem;padding:0 10px}.simple-search-input:first-child{flex:1}.simple-search-input:last-of-type{flex:1}.simple-search-button{width:40px;height:40px;padding:8px;flex-shrink:0}}@media screen and (max-width: 480px){.simple-search-input{height:35px;font-size:.85rem;padding:0 8px}.simple-search-button{width:35px;height:35px;padding:6px}.simple-search-button img{width:100%;height:auto}}.champ-et-loupe-container{display:flex;align-items:center;height:100%;margin-left:8px}@keyframes slideIn{4%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOut{4%{transform:translate(0)}to{transform:translate(-100%)}}.search-bar-test{position:fixed;top:84px;left:16px;display:flex;flex-direction:row;align-items:flex-start;height:auto;max-height:calc(100vh - 94px);min-width:560px;max-width:min(860px,calc(100vw - 32px));background-color:transparent;border:none;border-radius:12px;box-shadow:none;padding:0;z-index:999;transition:transform .5s ease-in-out;overflow:visible}.search-bar-test.map-hidden{width:calc(auto - 400px)}.search-bar-test:not(.hidden){animation:slideIn .4s forwards ease-in-out}.form-style{display:flex;flex-direction:column;background-color:#faf7f2;height:auto;max-height:calc(100vh - 94px);width:520px;flex-shrink:0;flex-grow:0;padding:20px 28px 24px;justify-content:flex-start;align-items:stretch;border-radius:12px;z-index:2;border:1px solid rgba(12,68,8,.15);box-shadow:0 4px 20px #0000001f;overflow-y:auto;overflow-x:hidden;color:#2a2a2a}.form-style label,.form-style span:not(.close-search-btn){color:#2a2a2a}.form-style select,.form-style option{background-color:#fff;color:#2a2a2a}.form-style>span{font-size:.8rem;font-weight:700;color:var(--primary-dark-blue);text-transform:uppercase;letter-spacing:.6px;margin-top:14px;margin-bottom:4px;align-self:flex-start;padding-left:2px}.search-input-range-birthdate[type=range],.search-input-range-deathdate[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:90%;height:8px;background:#ddd;outline:none;opacity:.7;transition:opacity .2s}.search-input-range-birthdate[type=range]::-webkit-slider-thumb,.search-input-range-deathdate[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:#4caf50;cursor:pointer;border-radius:50%}.search-input-range-birthdate[type=range]::-moz-range-thumb,.search-input-range-deathdate[type=range]::-moz-range-thumb{width:15px;height:15px;background:#4caf50;cursor:pointer;border-radius:20%;transform:skew(-25deg)}.search-input-range-birthdate[type=range]::-webkit-slider-runnable-track,.search-input-range-deathdate[type=range]::-webkit-slider-runnable-track{width:100%;height:8px;cursor:pointer;background:#ddd;border-radius:5px}.search-input-range-birthdate[type=range]::-moz-range-track,.search-input-range-deathdate[type=range]::-moz-range-track{width:100%;height:8px;cursor:pointer;background:#ddd;border-radius:5px}.range-container-birthdate,.range-container-deathdate{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto;width:100%;margin-top:20px;margin-bottom:30px}.search-icon{color:var(--primary-dark-blue);background:transparent;padding:5px;font-size:20px;margin-right:10px;cursor:pointer}.input-wrapper{display:flex;background:transparent;height:auto;width:100%;justify-content:center;align-items:center;justify-items:center;border-radius:5px}.search-input{width:100%;height:44px;border:2px solid var(--primary-dark-blue);border-radius:6px;padding:6px 12px;font-size:14px;cursor:text;box-sizing:border-box;margin-bottom:8px;background-color:#fff;color:#1a1a1a}.search-input-range-birthdate[type=number],.search-input-range-deathdate[type=number],.search-input-range-weddingdate[type=number]{height:44px;border:2px solid var(--primary-dark-blue);border-radius:6px;padding:6px 8px;font-size:14px;box-sizing:border-box;text-align:center;width:90px;-moz-appearance:textfield;background-color:#fff;color:#1a1a1a}.search-input:focus{outline:none}.custom-birthdates-research,.custom-weddingdates-research,.custom-deathdates-research{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto;width:100%;border-top:1px solid rgba(12,68,8,.1);border-bottom:1px solid rgba(12,68,8,.1);margin-top:8px;margin-bottom:8px;padding:8px 0}.custom-birthdates-research.hidden,.custom-weddingdates-research.hidden,.custom-deathdates-research.hidden{display:none}.close-modale-recherche{position:absolute;top:-10px;right:-45px;display:flex;justify-content:center;align-items:center;height:30px;width:30px;border:2px solid var(--primary-dark-blue);border-radius:50%;color:#000;cursor:pointer}.close-modale-recherche:hover{background-color:var(--primary-dark-blue);color:#fff}.coucou-birthdates,.coucou-weddingdates{display:flex;flex-direction:row;width:fit-content;height:fit-content}.coucou-birthdates>.range-container-birthdate,.coucou-weddingdates>.range-container-weddingdate{display:flex;flex-direction:column;height:auto;width:fit-content;margin-bottom:5px}.date-selection{display:flex;flex-direction:row;justify-content:center;align-items:center;height:auto;width:100%;border-radius:5px;margin-top:10px;margin-bottom:10px;gap:10px}.bornes-dates{display:flex;flex-direction:row;justify-content:center;align-items:center;height:auto;width:100%;border-radius:5px;margin:none;gap:10px}.select-siècle{display:flex;flex-direction:row;justify-content:center;align-items:center;height:auto;width:100%;border:1px solid rgba(12,68,8,.15);border-radius:6px;gap:10px;padding:4px 0}.range-années{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto;width:100%;border:1px solid rgba(12,68,8,.1);margin-top:5px;border-radius:6px;gap:3px;padding:4px}.search-bar-test.geo-open{max-width:min(1160px,calc(100vw - 32px))}.search-map-shown{position:relative;flex:1;min-width:700px;height:100%!important;width:100%;border:1px solid rgba(12,68,8,.15);border-radius:8px;margin:10px;padding:2px;opacity:1;transition:flex .7s ease-in-out,opacity .5s ease-in-out}.search-map-hidden{flex:0;width:0;opacity:0;margin:0;padding:0;transition:flex .7s ease-in-out,opacity .5s ease-in-out,margin .7s ease-in-out,padding .7s ease-in-out;overflow:hidden}.search-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;min-height:32px}.btn-close-search{background:none;border:1.5px solid #ccc;border-radius:50%;width:28px;height:28px;min-width:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:#666;transition:background .15s,border-color .15s,color .15s;font-family:inherit;margin-left:auto}.btn-close-search:hover{background:#c0392b;border-color:#c0392b;color:#fff}.btn-hide-map{background:none;border:none;color:var(--primary-dark-blue);font-size:.82rem;font-weight:500;cursor:pointer;padding:0;font-family:inherit;opacity:.8;text-decoration:underline;text-underline-offset:2px}.btn-hide-map:hover{opacity:1}.form-style button[type=submit],.form-style .btn-geo-search{width:100%;padding:10px 16px;margin-top:8px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.form-style button[type=submit]{background-color:var(--primary-dark-blue);color:#fff;border:none}.form-style button[type=submit]:hover{background-color:#0c4408d9}.form-style .btn-geo-search{background-color:transparent;color:var(--primary-dark-blue);border:2px solid var(--primary-dark-blue)}.form-style .btn-geo-search:hover{background-color:var(--primary-dark-blue);color:#fff}@media screen and (max-width: 1024px){.search-bar-test{top:84px;left:10px;right:10px;min-width:0;max-width:calc(100% - 20px);max-height:calc(100vh - 90px)}.form-style{min-width:0;width:100%;max-height:calc(100vh - 90px);padding:16px 20px}}@media screen and (max-width: 768px){.search-bar-test{top:68px;left:8px;right:8px;min-width:0;max-width:calc(100% - 16px);max-height:calc(100vh - 80px);flex-direction:column}.form-style{min-width:0;width:100%;max-height:calc(100vh - 80px);padding:14px 16px;font-size:.9rem}.search-input{width:100%;font-size:.9rem}.search-map-shown{width:100%;height:300px;margin:10px 0}.date-selection,.bornes-dates{flex-direction:column;gap:8px}.coucou-birthdates,.coucou-weddingdates{flex-direction:column;width:100%}.range-container-birthdate,.range-container-deathdate,.range-container-weddingdate{width:100%}.close-modale-recherche{right:5px;top:5px}}@media screen and (max-width: 480px){.search-bar-test{top:64px;left:4px;right:4px;max-height:calc(100vh - 72px)}.form-style{padding:12px 10px;font-size:.85rem}.search-input{height:35px;font-size:.85rem}.search-map-shown{height:250px}.custom-birthdates-research,.custom-weddingdates-research,.custom-deathdates-research{padding:10px 5px;margin-top:8px;margin-bottom:8px}}.navbar{position:fixed;top:0;left:0;width:100%;height:76px;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:1000;box-shadow:var(--shadow-sm);transition:top .4s;overflow:visible}.navbar.hidden{top:-86px}.navbar-list{display:flex;flex-direction:row;align-items:center;height:100%;padding:0 20px;margin:0;list-style:none;gap:0;overflow:visible}.logo{width:44px;height:auto;cursor:pointer;flex-shrink:0;margin-right:12px}.nav-menu{display:flex;flex-direction:row;align-items:stretch;gap:0;list-style:none;margin:0;padding:0;height:100%;flex:1;overflow:visible}.nav-item{display:flex;align-items:center;height:100%}.nav-item a,.nav-dropdown-toggle{display:flex;align-items:center;height:100%;padding:0 14px;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:color .15s,background .15s;border-bottom:3px solid transparent;white-space:nowrap;gap:4px}.nav-item a:hover,.nav-dropdown-toggle:hover,.nav-item-dropdown:hover>.nav-dropdown-toggle{color:var(--color-primary);background:#0c44080a}.nav-item--active>a,.nav-item--active>.nav-dropdown-toggle{color:var(--color-primary);font-weight:600;border-bottom-color:var(--color-primary)}.nav-caret{font-size:.6rem;color:var(--color-text-muted);transition:transform .2s}.nav-caret.open{transform:rotate(180deg)}.nav-item-dropdown{position:relative}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:210px;background:var(--color-surface);border:1px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-md);list-style:none;margin:0;padding:4px 0;z-index:2000;animation:slideDown .15s ease-out}.nav-item-dropdown .nav-dropdown-menu.user-menu{left:auto;right:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-menu li a{display:block;padding:10px 18px;color:var(--color-text);font-size:.875rem;height:auto;border-bottom:none;font-weight:400;white-space:nowrap}.nav-dropdown-menu li a:hover{background:#0c44080f;color:var(--color-primary);border-bottom:none}.nav-dropdown-menu li a.active{color:var(--color-primary);font-weight:600}.nav-item--login{margin-left:auto}.nav-login-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 16px;border-radius:20px;border:1.5px solid var(--color-primary)!important;color:var(--color-primary)!important;font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s;height:auto!important}.nav-login-btn:hover{background:#0c440814}.nav-user-toggle{display:flex;align-items:center;gap:7px;cursor:pointer;padding:0 10px;height:100%;color:var(--color-text-secondary);font-size:.875rem}.nav-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:700;flex-shrink:0}.nav-user-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:var(--color-text)}.nav-logout{color:var(--color-error)!important}.nav-logout:hover{background:#b000200d!important}.navbar-right-group{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}.search-bar-wrapper{min-width:0}.search-selector{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:17px;color:var(--color-text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:border-color .15s,color .15s;font-family:inherit}.search-selector:hover{border-color:var(--color-primary);color:var(--color-primary)}.nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:none;padding:0;cursor:pointer;margin-left:8px;flex-shrink:0}@media (min-width: 901px){.nav-hamburger,.nav-drawer{display:none}}.nav-hamburger span{display:block;width:22px;height:2px;background:var(--color-primary);border-radius:2px;transition:all .25s}.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-drawer{display:none;position:fixed;top:76px;left:0;right:0;bottom:0;background:var(--color-surface);z-index:999;overflow-y:auto;padding:8px 0 32px;animation:drawerIn .2s ease-out}@keyframes drawerIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-drawer.open{display:block}.nav-drawer-menu{list-style:none;margin:0;padding:0}.nav-drawer-menu>li{display:flex;flex-direction:column;align-items:stretch}.nav-drawer-menu li a,.nav-drawer-btn{display:flex;align-items:center;width:100%;padding:15px 20px;font-size:1rem;font-weight:500;color:var(--color-text);border-bottom:1px solid var(--color-border-light);text-decoration:none;cursor:pointer;background:none;border-radius:0;text-align:left;font-family:inherit;transition:color .15s,background .15s}.nav-drawer-menu li a:hover,.nav-drawer-btn:hover{color:var(--color-primary);background:#0c44080d}.nav-drawer-menu li a.active{color:var(--color-primary);font-weight:600}.nav-drawer-section-btn{justify-content:space-between}.nav-drawer-caret{font-size:.75rem;color:var(--color-text-muted)}.nav-drawer-submenu{list-style:none;margin:0;padding:0;background:var(--color-bg)}.nav-drawer-submenu li a{padding:12px 20px 12px 36px;font-size:.9375rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light)}.nav-drawer-divider{height:1px;background:var(--color-border);margin:8px 0}.nav-drawer-logout{color:var(--color-error)!important}@media (min-width: 1101px){.nav-hamburger,.nav-drawer{display:none}}@media (max-width: 1100px){.nav-menu,.navbar-right-group{display:none}.nav-hamburger{display:flex}.navbar{height:60px}.navbar.hidden{top:-70px}.nav-drawer{top:60px}.logo{width:36px}}@media (max-width: 480px){.navbar-list{padding:0 12px}}.content{display:flex;flex-direction:column;width:100%;min-height:100vh;margin-top:76px;padding:var(--space-lg) var(--space-md);box-sizing:border-box;background-color:var(--color-bg)}@media (max-width: 768px){.content{margin-top:60px;padding:var(--space-sm)}}.dashboard-container{max-width:1400px;margin:0 auto;padding:24px;background:var(--color-bg);min-height:100vh}.dashboard-header{text-align:center;margin-bottom:24px;background:var(--color-surface);padding:28px;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.dashboard-header h1{margin:0;color:var(--color-primary);font-size:1.8rem;font-weight:700}.dashboard-header p{color:var(--color-text-secondary);font-size:1rem;margin:8px 0 0}.dashboard-header small{color:var(--color-text-muted);font-size:.85rem}.dashboard-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;padding:14px;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.tab-button{display:flex;align-items:center;gap:6px;padding:7px 16px;border:1.5px solid var(--color-border);background:var(--color-bg);border-radius:20px;cursor:pointer;transition:border-color .15s,color .15s,background .15s;font-size:.875rem;color:var(--color-text-secondary);font-weight:500;font-family:inherit}.tab-button:hover{border-color:var(--color-primary);color:var(--color-primary);background:#0c44080a}.tab-button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.tab-icon{font-size:1rem}.tab-label{font-weight:500}.dashboard-content{background:var(--color-surface);border-radius:var(--radius-md);padding:28px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);min-height:500px}.loading-spinner{text-align:center;padding:80px 20px;color:var(--color-text-muted)}.spinner{width:38px;height:38px;border:3px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin .85s linear infinite;margin:0 auto 14px}.error-message{text-align:center;padding:80px 20px;color:var(--color-error)}.error-message button{padding:9px 22px;background:var(--color-primary);color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;margin-top:14px;font-family:inherit}.overview-card,.stat-card,.century-card,.geo-card,.names-card,.family-card,.occupation-card,.war-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);color:var(--color-text)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.overview-card h3{margin:0 0 14px;font-size:.9375rem;font-weight:600;color:var(--color-primary)}.stat-row{display:flex;justify-content:space-between;margin:6px 0;padding:7px 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem;color:var(--color-text)}.places-list,.names-list,.occupations-list{display:flex;flex-direction:column;gap:5px}.place-item,.name-item,.occupation-item{display:flex;justify-content:space-between;padding:7px 10px;background:var(--color-bg);border-radius:var(--radius-sm);margin:3px 0;font-size:.875rem}.place-count,.name-count,.occupation-count{font-weight:600;background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:10px;font-size:.78rem}.age-statistics{display:flex;flex-direction:column;gap:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.stat-card h3{margin:0 0 14px;font-size:.9375rem;font-weight:600;color:var(--color-primary)}.stat-item-container{display:flex;flex-direction:row;justify-content:space-between;margin:10px 0;padding:7px 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem}.age-range-item{margin:5px 0}.age-bar{display:flex;align-items:center;margin-top:5px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;overflow:hidden;position:relative;height:20px}.age-fill{background:var(--color-primary);height:100%;transition:width .8s ease;border-radius:5px;opacity:.8}.age-count{position:absolute;right:8px;font-weight:600;font-size:.78rem;color:var(--color-text)}.century-stats{background:var(--color-bg);padding:20px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.century-stats h3{color:var(--color-primary);margin:0 0 14px;font-size:.9375rem;font-weight:600}.century-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.century-card{border-left-color:var(--color-accent);text-align:center;padding:14px}.century-card h4{margin:0 0 8px;font-size:.875rem;color:var(--color-accent);font-weight:600}.century-data span{display:block;margin:4px 0;font-size:.78rem;color:var(--color-text-secondary)}.recent-deaths{background:var(--color-bg);padding:20px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.recent-deaths h3{color:var(--color-primary);margin:0 0 14px;font-size:.9375rem;font-weight:600}.deaths-table table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);font-size:.875rem}.deaths-table th,.deaths-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--color-border-light)}.deaths-table th{background:var(--color-primary);color:#fff;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.3px}.deaths-table tr:hover{background:var(--color-bg)}.geographic-statistics{display:flex;flex-direction:column;gap:24px}.geo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px}.geo-card h3{color:var(--color-primary);margin:0 0 14px;font-size:.9375rem;font-weight:600}.places-chart{display:flex;flex-direction:column;gap:10px}.place-bar{display:flex;flex-direction:column;gap:4px}.place-name{font-weight:500;color:var(--color-text);font-size:.875rem}.place-progress{position:relative;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;height:20px;display:flex;align-items:center;overflow:hidden}.place-fill{height:100%;border-radius:5px;transition:width .8s ease}.birth-fill{background:var(--color-primary);opacity:.8}.death-fill{background:var(--color-error);opacity:.7}.place-stats{position:absolute;right:8px;font-weight:600;font-size:.78rem;color:var(--color-text)}.migrations-section{background:var(--color-bg);padding:20px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.migrations-section h3{color:var(--color-primary);margin:0 0 14px;font-size:.9375rem;font-weight:600}.migrations-list{display:flex;flex-direction:column;gap:7px}.migration-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.migration-path{font-weight:500;color:var(--color-text)}.migration-count{background:var(--color-primary);color:#fff;padding:3px 9px;border-radius:10px;font-size:.78rem;font-weight:600}.name-statistics{display:flex;flex-direction:column;gap:24px}.names-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.names-card{border-left-color:var(--color-accent)}.names-card h3{color:var(--color-accent);margin:0 0 14px;font-size:.9375rem;font-weight:600}.names-list{display:flex;flex-direction:column;gap:8px}.name-item,.lastname-item{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);font-size:.875rem}.name-info,.lastname-info{display:flex;flex-direction:column;gap:2px}.name-text,.lastname-text{font-weight:600;color:var(--color-text)}.name-gender{font-size:.72rem;padding:2px 7px;border-radius:8px;font-weight:500}.gender-male{background:#dbeafe;color:#1d4ed8}.gender-female{background:#fce7f3;color:#9d174d}.gender-unknown{background:var(--color-border);color:var(--color-text-secondary)}.name-details{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.name-count,.lastname-count{background:var(--color-primary);color:#fff;padding:3px 9px;border-radius:10px;font-size:.78rem;font-weight:600}.name-centuries,.lineage-depth{font-size:.72rem;color:var(--color-text-muted)}.family-statistics{display:flex;flex-direction:column;gap:24px}.family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.family-card h3{margin:0 0 14px;font-size:.9375rem;font-weight:600;color:var(--color-primary)}.marriage-stats,.infant-mortality{display:flex;flex-direction:column;gap:8px}.marriage-item,.mortality-stat{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem}.marriage-item.total{border-top:2px solid var(--color-border);font-size:.9375rem;font-weight:600;color:var(--color-primary)}.profession-statistics{display:flex;flex-direction:column;gap:16px}.professions-list h3{color:var(--color-primary);margin:0 0 18px;font-size:1rem;font-weight:600}.occupation-card{margin:8px 0}.occupation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.occupation-header h4{margin:0;font-size:.9375rem;color:var(--color-text);font-weight:600}.occupation-percentage{background:var(--color-primary);color:#fff;padding:3px 9px;border-radius:10px;font-weight:600;font-size:.78rem}.occupation-details{display:flex;gap:14px;font-size:.85rem;color:var(--color-text-secondary)}.occupation-periods{color:var(--color-text-muted);font-style:italic}.historical-statistics{display:flex;flex-direction:column;gap:24px}.wars-section h3{color:var(--color-primary);margin:0 0 18px;font-size:1rem;font-weight:600}.wars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.war-card{border-left-color:var(--color-error)}.war-card h4{margin:0 0 4px;font-size:.9375rem;font-weight:600;color:var(--color-text)}.war-period{font-size:.85rem;color:var(--color-text-muted);margin-bottom:10px}.war-stats{display:flex;flex-direction:column;gap:7px}.war-stat{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem}@media (max-width: 768px){.dashboard-container{padding:14px}.dashboard-content{padding:16px}.names-grid,.geo-grid{grid-template-columns:1fr}.quality-grid{grid-template-columns:1fr 1fr}}.data-quality{padding:8px 0}.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.quality-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px}.quality-card h4{margin:0;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px}.quality-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.quality-fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .4s ease}.quality-stats{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--color-text)}.quality-stats span:first-child{color:var(--color-text-secondary);font-size:.8rem}.quality-stats span:last-child{font-weight:700;color:var(--color-primary);font-size:.95rem}.overall-quality{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.overall-quality h4{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.overall-bar{height:12px;background:var(--color-border);border-radius:6px;overflow:hidden}.overall-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),#4caf50);border-radius:6px;transition:width .4s ease}.life-circles-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}.life-circles-section h3{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 4px}.life-circles-subtitle{font-size:.8rem;color:var(--color-text-secondary);margin:0 0 16px}.lc-loading-row{display:flex;align-items:center;gap:10px;color:var(--color-text-secondary);font-size:.85rem;padding:24px 0}@keyframes lc-spin{to{transform:rotate(360deg)}}.lc-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:lc-spin .8s linear infinite;flex-shrink:0}.scatter-century-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.century-pill{padding:3px 11px;border-radius:20px;border:1.5px solid var(--pill-color, #888);background:transparent;color:var(--pill-color, #555);font-size:.78rem;cursor:pointer;transition:background .15s,color .15s}.century-pill.active,.century-pill:hover{background:var(--pill-color, #888);color:#fff}.scatter-wrapper{position:relative;width:100%}.scatter-svg{width:100%;height:auto;display:block;border-radius:4px;background:var(--color-bg, #fff)}.scatter-tooltip{position:fixed;background:#141414e0;color:#fff;padding:5px 10px;border-radius:6px;font-size:.78rem;white-space:nowrap;pointer-events:none;z-index:9999;transform:translate(-50%)}.life-circles-note{font-size:.74rem;color:var(--color-text-secondary);margin-top:6px;font-style:italic}.no-geo-data{font-size:.85rem;color:var(--color-text-secondary);padding:16px 0}.gedcom-import{max-width:560px;margin:0 auto;padding:24px;font-family:Roboto,sans-serif}.gedcom-import--locked{text-align:center;color:#6b6b6b;padding:40px;font-style:italic}.gedcom-import__title{font-family:EB Garamond,Georgia,serif;font-size:1.4rem;color:var(--primary-dark-blue, #1c2d3c);margin:0 0 6px}.gedcom-import__subtitle{font-size:.82rem;color:#7a6e5c;margin:0 0 20px}.gedcom-import__dropzone{border:2px dashed #c8b98a;border-radius:10px;padding:32px 20px;text-align:center;cursor:pointer;background:#fdfaf5;transition:border-color .15s,background .15s;margin-bottom:16px}.gedcom-import__dropzone:hover,.gedcom-import__dropzone:focus{border-color:var(--primary-dark-blue, #1c2d3c);background:#f5efe4;outline:none}.gedcom-import__dropzone--dragging{border-color:var(--primary-dark-blue, #1c2d3c);background:#ede7d8}.gedcom-import__dropzone--has-file{border-style:solid;border-color:var(--primary-dark-green, rgb(12, 68, 8));background:#f0f8ee}.gedcom-import__placeholder{color:#7a6e5c;font-size:.9rem}.gedcom-import__upload-icon{font-size:2rem;display:block;margin-bottom:8px}.gedcom-import__file-info{display:flex;align-items:center;justify-content:center;gap:10px}.gedcom-import__file-icon{font-size:1.5rem}.gedcom-import__file-name{font-weight:600;color:#2c2c2c;font-size:.95rem}.gedcom-import__file-size{color:#7a6e5c;font-size:.82rem}.gedcom-import__error{color:#b00020;font-size:.85rem;padding:8px 12px;background:#fff5f5;border-left:3px solid #b00020;border-radius:0 4px 4px 0;margin-bottom:14px}.gedcom-import__btn{width:100%;padding:12px;border-radius:8px;border:none;background:var(--primary-dark-blue, #1c2d3c);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.gedcom-import__btn:hover:not(:disabled){background:#2a4460}.gedcom-import__btn:disabled{opacity:.6;cursor:not-allowed}.gedcom-import__btn--secondary{background:#fff;color:var(--primary-dark-blue, #1c2d3c);border:1px solid #c8b98a;margin-top:12px}.gedcom-import__btn--secondary:hover{background:#f5efe4}.gedcom-import__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:gedcom-spin .7s linear infinite}@keyframes gedcom-spin{to{transform:rotate(360deg)}}.gedcom-import__result{background:#f0f8ee;border:1px solid #a8d5a2;border-radius:8px;padding:20px;margin-top:16px}.gedcom-import__result-title{font-family:EB Garamond,Georgia,serif;font-size:1.1rem;color:#155724;margin:0 0 14px}.gedcom-import__result-stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}.gedcom-import__stat{display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:8px;padding:10px 16px;min-width:80px;border:1px solid #e8ddc8}.gedcom-import__stat-value{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.gedcom-import__stat--created .gedcom-import__stat-value{color:#155724}.gedcom-import__stat--relations .gedcom-import__stat-value{color:#1c2d3c}.gedcom-import__stat--skipped .gedcom-import__stat-value{color:#856404}.gedcom-import__stat-label{font-size:.72rem;color:#6b6b6b;text-align:center;margin-top:3px}.gedcom-import__errors{background:#fff8e1;border:1px solid #ffe082;border-radius:4px;padding:8px 12px;font-size:.82rem;margin-bottom:12px}.gedcom-import__errors summary{cursor:pointer;color:#856404;font-weight:600}.gedcom-import__errors ul{margin:8px 0 0;padding-left:18px;color:#555}.gedcom-import__errors li{margin:4px 0}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);padding:24px}.auth-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:40px 36px;width:100%;max-width:420px}.auth-card__title{font-family:EB Garamond,Georgia,serif;font-size:2rem;color:var(--color-primary);margin:0 0 4px;text-align:center;letter-spacing:.02em}.auth-card__subtitle{font-size:.85rem;color:var(--color-text-secondary);text-align:center;margin:0 0 28px;font-style:italic}.auth-tabs{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:24px}.auth-tab{flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.9rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:color .15s,border-color .15s}.auth-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-field label{font-size:.8rem;font-weight:600;color:var(--color-text);letter-spacing:.03em;text-transform:uppercase}.auth-field input{padding:10px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:.92rem;color:var(--color-text);background:var(--color-surface);transition:border-color .15s;outline:none;font-family:inherit}.auth-field input:focus{border-color:var(--color-primary)}.auth-field input::placeholder{color:var(--color-text-muted)}.auth-btn{width:100%;padding:12px;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;margin-top:4px;transition:background .15s;font-family:inherit}.auth-btn:hover:not(:disabled){background:var(--color-primary-light)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:#fff5f5;border-left:3px solid var(--color-error);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-error);font-size:.85rem;padding:8px 12px;margin-bottom:4px}.events-page{padding:40px 60px;max-width:1200px;margin:0 auto;min-height:100vh;background-color:#f5f7fa}.ev-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid var(--primary-dark-blue)}.ev-header-left h1{font-size:2.5rem;color:var(--primary-dark-blue);margin:0 0 4px}.ev-subtitle{margin:0;color:#666;font-size:.95rem}.ev-btn-create{padding:12px 24px;background-color:var(--primary-dark-blue);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.ev-btn-create:hover{background-color:#2c5282;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.ev-tabs{display:flex;border-bottom:2px solid #e0e0e0;margin-bottom:24px;gap:0}.ev-tab{padding:12px 28px;border:none;background:none;font-size:.95rem;font-weight:500;color:#666;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;font-family:inherit}.ev-tab.active{color:var(--primary-dark-blue);border-bottom-color:var(--primary-dark-blue);font-weight:600}.ev-tab:hover:not(.active){color:var(--primary-dark-blue);background:#2c5f8a0d}.ev-tab-content{display:flex;flex-direction:column;gap:12px}.ev-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.ev-search{flex:1;min-width:200px;padding:10px 16px;border:1.5px solid #ddd;border-radius:8px;font-size:.95rem;outline:none;transition:border-color .2s;font-family:inherit}.ev-search:focus{border-color:var(--primary-dark-blue)}.ev-scope-chips{display:flex;gap:8px;flex-wrap:wrap}.ev-scope-chip{padding:6px 16px;border:1.5px solid #ccc;border-radius:20px;background:#fff;font-size:.85rem;font-weight:500;color:#555;cursor:pointer;transition:all .2s;font-family:inherit}.ev-scope-chip.active{background:var(--primary-dark-blue);border-color:var(--primary-dark-blue);color:#fff}.ev-scope-chip:hover:not(.active){border-color:var(--primary-dark-blue);color:var(--primary-dark-blue)}.ev-legend{display:flex;align-items:center;gap:16px;padding:6px 4px;flex-wrap:wrap}.ev-legend-item{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#666}.ev-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ev-legend-hint{font-size:.8rem;color:#aaa;font-style:italic;margin-left:auto}.ev-list{display:flex;flex-direction:column;gap:10px}.ev-card{background:#fff;border-radius:10px;border-left:5px solid #ccc;padding:16px 20px;box-shadow:0 1px 4px #0000000f;transition:box-shadow .2s,transform .15s}.ev-card:hover{box-shadow:0 4px 18px #0000001a;transform:translate(2px)}.ev-card-header{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.ev-card-date{font-size:.88rem;font-weight:700;min-width:48px;flex-shrink:0}.ev-card-location{font-size:.8rem;color:#999;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-card-ancestors{font-size:.75rem;padding:2px 10px;border-radius:12px;background:#2c5f8a1a;color:var(--primary-dark-blue);font-weight:600;border:1px solid rgba(44,95,138,.2);white-space:nowrap;flex-shrink:0}.ev-card-actions{display:flex;gap:6px;margin-left:auto;flex-shrink:0;opacity:0;transition:opacity .15s}.ev-card:hover .ev-card-actions{opacity:1}.ev-btn-detail{padding:4px 12px;border-radius:6px;border:1.5px solid #6a2c8a;font-size:.78rem;cursor:pointer;font-weight:500;transition:all .15s;color:#6a2c8a;background:transparent;text-decoration:none;display:inline-flex;align-items:center}.ev-btn-detail:hover{background:#6a2c8a;color:#fff}.ev-btn-edit,.ev-btn-delete{padding:4px 12px;border-radius:6px;border:1.5px solid;font-size:.78rem;cursor:pointer;font-weight:500;transition:all .15s;font-family:inherit}.ev-btn-edit{border-color:var(--primary-dark-blue);color:var(--primary-dark-blue);background:transparent}.ev-btn-edit:hover{background:var(--primary-dark-blue);color:#fff}.ev-btn-delete{border-color:#d32f2f;color:#d32f2f;background:transparent}.ev-btn-delete:hover{background:#d32f2f;color:#fff}.ev-card-title{margin:0 0 4px;font-size:1rem;font-weight:600;color:#1a1a2e;line-height:1.35}.ev-card-desc{margin:0 0 8px;font-size:.85rem;color:#555;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ev-card-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ev-chip{padding:2px 10px;border-radius:12px;color:#fff;font-size:.73rem;font-weight:500}.ev-tag{padding:2px 10px;border-radius:12px;border:1px solid rgba(44,95,138,.3);color:var(--primary-dark-blue);font-size:.73rem;font-weight:500;background:#2c5f8a0f}.ev-loading,.ev-empty{text-align:center;padding:60px 20px;font-size:1.05rem;color:#aaa}.ev-stats{display:flex;flex-direction:column;gap:24px}.ev-stats-section{margin:0 0 8px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.9px;color:#aaa}.ev-stats-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.ev-stat-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #f0f0f0}.ev-stat-row:last-child{border-bottom:none}.ev-stat-label{font-size:.9rem;color:#555}.ev-stat-value{font-size:1.15rem;font-weight:700;color:var(--primary-dark-blue)}.ev-top-row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f0f0f0}.ev-top-row:last-child{border-bottom:none}.ev-top-rank{font-size:.85rem;color:#bbb;min-width:28px}.ev-top-title{flex:1;font-size:.9rem;color:#333;font-weight:500}.ev-badge{font-size:.75rem;padding:2px 10px;border-radius:12px;background:#2c5f8a14;color:var(--primary-dark-blue);font-weight:600;border:1px solid rgba(44,95,138,.18);white-space:nowrap;flex-shrink:0}.ev-bar-row{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid #f0f0f0}.ev-bar-row:last-child{border-bottom:none}.ev-bar-label{font-size:.82rem;color:#666;min-width:100px}.ev-bar-track{flex:1;height:10px;background:#f0f0f0;border-radius:5px;overflow:hidden}.ev-bar-fill{height:100%;border-radius:5px;transition:width .6s ease}.ev-bar-count{font-size:.82rem;color:#aaa;min-width:28px;text-align:right}.ev-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9000;animation:ev-fade-in .15s ease}@keyframes ev-fade-in{0%{opacity:0}to{opacity:1}}.ev-modal{background:#fff;border-radius:16px;width:100%;max-width:540px;box-shadow:0 20px 60px #00000038;animation:ev-slide-up .2s ease;max-height:90vh;overflow-y:auto;margin:0 16px}@keyframes ev-slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.ev-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 16px;border-bottom:1px solid #eee}.ev-modal-header h2{margin:0;font-size:1.25rem;color:var(--primary-dark-blue)}.ev-modal-close{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#aaa;line-height:1;padding:0 4px;transition:color .15s}.ev-modal-close:hover{color:#333}.ev-modal-form{display:flex;flex-direction:column;gap:16px;padding:20px 28px}.ev-modal-form label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:600;color:#444}.ev-modal-form input,.ev-modal-form textarea,.ev-modal-form select{padding:10px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:.92rem;outline:none;transition:border-color .2s;font-family:inherit;font-weight:400}.ev-modal-form input:focus,.ev-modal-form textarea:focus,.ev-modal-form select:focus{border-color:var(--primary-dark-blue)}.ev-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ev-modal-error{margin:0;color:#d32f2f;font-size:.875rem;padding:8px 12px;background:#fff5f5;border-radius:6px;border:1px solid #ffd5d5}.ev-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 28px 24px;border-top:1px solid #eee}.ev-btn-cancel{padding:10px 20px;border:1.5px solid #ccc;border-radius:8px;background:#fff;font-size:.9rem;cursor:pointer;color:#555;transition:all .15s;font-family:inherit}.ev-btn-cancel:hover{border-color:#999;color:#333}.ev-btn-save{padding:10px 24px;border:none;border-radius:8px;background:var(--primary-dark-blue);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.ev-btn-save:hover{background:#2c5282;transform:translateY(-1px)}.ev-btn-save:disabled{opacity:.5;cursor:not-allowed;transform:none}@media screen and (max-width: 1024px){.events-page{padding:30px 40px}}@media screen and (max-width: 768px){.events-page{padding:20px}.ev-header{flex-direction:column;gap:16px}.ev-header-left h1{font-size:1.8rem}.ev-btn-create{width:100%;text-align:center}.ev-toolbar{flex-direction:column;align-items:stretch}.ev-search{min-width:unset}.ev-legend-hint{display:none}.ev-modal-row{grid-template-columns:1fr}.ev-card-actions{opacity:1}}.profile-page{min-height:100vh;background:var(--color-bg)}.profile-user-card{display:flex;align-items:center;gap:20px;background:var(--color-primary);padding:28px 40px}.profile-avatar{width:64px;height:64px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:#fff;flex-shrink:0}.profile-user-info{flex:1}.profile-user-name{font-size:1.25rem;font-weight:700;color:#fff}.profile-user-role{font-size:.8125rem;color:#ffffffbf;margin-top:2px}.profile-user-email{font-size:.8125rem;color:#fff9;margin-top:1px}.profile-logout-btn{padding:8px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#ffffffd9;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.profile-logout-btn:hover{background:#ffffff38}.profile-content{max-width:760px;margin:0 auto;padding:24px 24px 48px;display:flex;flex-direction:column;gap:8px}.profile-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;border-bottom:1px solid var(--color-border);padding:14px 4px;cursor:pointer;text-align:left}.profile-section-header:hover{opacity:.8}.profile-section-header.open{border-bottom-color:transparent}.profile-section-label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.8px;text-transform:uppercase}.profile-section-chevron{font-size:.625rem;color:var(--color-text-muted)}.profile-section-body{padding:8px 0 12px;display:flex;flex-direction:column;gap:12px}.profile-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.profile-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.profile-field-row.border-top{border-top:1px solid var(--color-border-light)}.profile-field-label{font-size:.875rem;color:var(--color-text-secondary);flex-shrink:0;min-width:80px}.profile-field-input{flex:1;background:none;border:none;font-size:.9375rem;color:var(--color-text);text-align:right;outline:none}.profile-field-input:focus{color:var(--color-primary)}.profile-switch-label-wrap{flex:1;display:flex;flex-direction:column;gap:2px}.profile-switch-hint{font-size:.75rem;color:var(--color-text-muted)}.profile-toggle{position:relative;display:inline-flex;cursor:pointer;flex-shrink:0}.profile-toggle input{position:absolute;opacity:0;width:0;height:0}.profile-toggle-track{width:46px;height:26px;border-radius:13px;background:var(--color-border);transition:background .2s;position:relative}.profile-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.profile-toggle input:checked+.profile-toggle-track{background:var(--color-primary)}.profile-toggle input:checked+.profile-toggle-track:after{transform:translate(20px)}.profile-msg{margin:0 16px;padding:8px 12px;border-radius:6px;font-size:.8125rem}.profile-msg.ok{background:#e8f5e9;color:var(--color-success)}.profile-msg.err{background:#fce4ec;color:var(--color-error)}.profile-save-btn{margin:12px 16px;padding:10px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity .15s}.profile-save-btn:disabled{opacity:.55;cursor:not-allowed}.profile-save-btn:hover:not(:disabled){opacity:.88}.profile-empty{font-size:.875rem;color:var(--color-text-muted);font-style:italic;text-align:center;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.profile-activity-toolbar{display:flex;justify-content:space-between;border-top:1px solid var(--color-border);padding-top:8px}.profile-activity-btn{background:none;border:none;font-size:.75rem;font-weight:500;color:var(--color-primary);cursor:pointer;padding:6px 4px}.profile-activity-btn.danger{color:var(--color-error)}.profile-activity-list{display:flex;flex-direction:column;gap:6px}.profile-activity-link{text-decoration:none;color:inherit}.profile-activity-card{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:10px 14px;transition:box-shadow .15s}.profile-activity-card.tappable:hover{box-shadow:0 2px 8px #00000014}.profile-activity-card.deleted{opacity:.5;background:var(--color-bg)}.profile-activity-icon{width:38px;height:38px;border-radius:19px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:#e8f5e9;flex-shrink:0}.profile-activity-body{flex:1}.profile-activity-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1px}.profile-activity-type{font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-activity-action{font-size:.6875rem;font-weight:600;letter-spacing:.3px}.profile-activity-name{font-size:.875rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-activity-name.strikethrough{text-decoration:line-through;color:var(--color-text-muted)}.profile-activity-time{font-size:.75rem;color:var(--color-text-muted);margin-top:1px}.profile-activity-chevron{font-size:1.25rem;color:var(--color-text-muted)}.profile-menu-block{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.profile-menu-row{display:flex;align-items:center;gap:14px;width:100%;background:var(--color-surface);border:none;padding:14px 16px;border-bottom:1px solid var(--color-border-light);cursor:pointer;text-align:left;transition:background .12s}.profile-menu-row:last-child{border-bottom:none}.profile-menu-row:hover{background:var(--color-bg)}.profile-menu-icon{font-size:1.2rem;width:28px;text-align:center}.profile-menu-label{flex:1;font-size:.9375rem;color:var(--color-text)}.profile-menu-label.danger,.profile-menu-row.danger .profile-menu-label{color:var(--color-error)}.profile-menu-arrow{font-size:1.25rem;color:var(--color-text-muted)}.profile-dup-warning{display:flex;align-items:center;justify-content:space-between;background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;padding:12px 16px;cursor:pointer;width:100%;text-align:left;transition:opacity .12s}.profile-dup-warning:hover{opacity:.85}.profile-dup-title{font-size:.875rem;font-weight:600;color:#e65100}.profile-dup-hint{font-size:.75rem;color:#e65100;opacity:.8;margin-top:2px}.profile-dup-arrow{font-size:1.375rem;color:#e65100;font-weight:700}.profile-segmented{display:flex;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;flex-shrink:0}.profile-segmented-btn{padding:5px 14px;background:var(--color-surface);border:none;font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;transition:background .12s}.profile-segmented-btn.active{background:var(--color-primary);color:#fff;font-weight:600}.profile-footer{text-align:center;font-size:.75rem;color:var(--color-text-muted);margin-top:24px}.profile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.profile-modal-box{background:var(--color-surface);border-radius:12px;width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #0000002e}.profile-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.profile-modal-header h2{font-size:1.0625rem;font-weight:600;color:var(--color-text);margin:0}.profile-modal-header button{background:none;border:none;font-size:1.1rem;color:var(--color-text-muted);cursor:pointer;padding:4px}.profile-modal-body{overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:12px}.dup-pair{background:var(--color-surface);border:1px solid #ffcc80;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.dup-pair-label{font-size:.6875rem;font-weight:600;color:#e65100;margin-bottom:2px}.dup-row{display:flex;align-items:center;gap:12px;background:var(--color-bg);border-radius:6px;padding:8px 10px}.dup-info{flex:1}.dup-name{font-size:.875rem;font-weight:500;color:var(--color-text)}.dup-dates{font-size:.75rem;color:var(--color-text-secondary);margin-top:1px}.dup-place{font-size:.6875rem;color:var(--color-text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dup-delete-btn{background:#ffebee;border:none;border-radius:5px;padding:5px 12px;font-size:.75rem;color:#c62828;font-weight:600;cursor:pointer;min-width:80px;text-align:center}.dup-delete-btn:disabled{opacity:.5;cursor:not-allowed}.dup-delete-btn:hover:not(:disabled){background:#ef9a9a}.delete-account-page{min-height:100vh;background:var(--color-bg);display:flex;align-items:flex-start;justify-content:center;padding:40px 24px}.delete-account-container{width:100%;max-width:540px;display:flex;flex-direction:column;gap:24px}.delete-account-back{background:none;border:none;font-size:.875rem;color:var(--color-primary);cursor:pointer;padding:0;text-align:left}.delete-account-back:hover{text-decoration:underline}.delete-account-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0}.delete-warning-box{background:#fff0f0;border:1px solid #ffcdd2;border-radius:10px;padding:16px 20px}.delete-warning-title{font-size:.9375rem;font-weight:700;color:var(--color-error);margin-bottom:8px}.delete-warning-text{font-size:.875rem;color:#7b1a1a;line-height:1.55;margin:0}.delete-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:20px}.delete-check-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.delete-checkbox{width:22px;height:22px;border-radius:4px;border:2px solid var(--color-error);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:background .15s;cursor:pointer}.delete-checkbox.checked{background:var(--color-error);color:#fff;font-size:.8125rem;font-weight:700}.delete-check-label{font-size:.875rem;color:var(--color-text);line-height:1.5}.delete-field-group{display:flex;flex-direction:column;gap:6px}.delete-field-label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.delete-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:10px 14px;font-size:.9375rem;color:var(--color-text);outline:none;transition:border-color .15s}.delete-input:focus{border-color:var(--color-error)}.delete-error{background:#fce4ec;color:var(--color-error);border-radius:6px;padding:8px 12px;font-size:.8125rem}.delete-btn{background:var(--color-error);color:#fff;border:none;border-radius:8px;padding:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity .15s}.delete-btn:disabled{opacity:.35;cursor:not-allowed}.delete-btn:hover:not(:disabled){opacity:.88}.event-detail-page{min-height:100vh;background:var(--color-bg);padding:32px 24px}.event-detail-container{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.event-detail-loading{text-align:center;color:var(--color-text-muted);margin-top:60px}.event-detail-back{background:none;border:none;font-size:.875rem;color:var(--color-primary);cursor:pointer;padding:0;text-align:left;margin-bottom:4px}.event-detail-back:hover{text-decoration:underline}.event-detail-header{background:var(--color-surface);border-radius:10px;padding:20px 24px;border-left:4px solid #6a2c8a}.event-detail-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.event-detail-date{font-size:.875rem;font-weight:600;color:#6a2c8a}.event-detail-location{font-size:.875rem;color:var(--color-text-muted)}.event-detail-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 12px;font-family:Georgia,serif}.event-detail-chips{display:flex;flex-wrap:wrap;gap:4px}.event-detail-chip{font-size:.6875rem;color:#fff;padding:2px 8px;border-radius:20px;font-weight:500}.event-detail-section{background:var(--color-surface);border-radius:10px;padding:16px 20px}.event-detail-section-header{display:flex;justify-content:space-between;align-items:center}.event-detail-section-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.event-detail-body{font-size:.9375rem;color:var(--color-text);line-height:1.6;margin:0}.event-detail-empty{font-size:.875rem;color:var(--color-text-muted);font-style:italic;margin:0}.event-detail-ancestor-list{display:flex;flex-direction:column}.event-detail-ancestor-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-light)}.event-detail-ancestor-row:last-child{border-bottom:none}.event-detail-ancestor-info{flex:1;text-decoration:none;display:flex;flex-direction:column}.event-detail-ancestor-info:hover .event-detail-ancestor-name{color:var(--color-primary)}.event-detail-ancestor-name{font-size:.9375rem;color:var(--color-text);font-weight:500}.event-detail-ancestor-involvement{font-size:.75rem;color:var(--color-text-muted)}.event-detail-unlink-btn{background:none;border:none;color:var(--color-error);font-size:1rem;cursor:pointer;padding:4px 8px;opacity:.7}.event-detail-unlink-btn:hover{opacity:1}.event-detail-graph-btn{display:block;background:#6a2c8a;color:#fff;text-align:center;padding:12px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9375rem;transition:opacity .15s}.event-detail-graph-btn:hover{opacity:.88}.event-detail-actions{display:flex;gap:10px;flex-wrap:wrap}.event-detail-btn-edit{flex:1;min-width:140px;border:1px solid var(--color-border);border-radius:8px;padding:11px;text-align:center;text-decoration:none;font-size:.9375rem;color:var(--color-text);background:var(--color-surface);transition:background .12s}.event-detail-btn-edit:hover{background:var(--color-bg)}.event-detail-btn-delete{flex:1;min-width:140px;border:1px solid var(--color-error);border-radius:8px;padding:11px;background:none;font-size:.9375rem;color:var(--color-error);cursor:pointer;font-weight:500;transition:background .12s}.event-detail-btn-delete:hover{background:#fce4ec}.event-graph-page{min-height:100vh;background:var(--color-bg);padding:32px 24px}.event-graph-container{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.event-graph-back{background:none;border:none;font-size:.875rem;color:var(--color-primary);cursor:pointer;padding:0;text-align:left}.event-graph-back:hover{text-decoration:underline}.event-graph-page-title{font-size:1.375rem;font-weight:700;color:var(--color-text);margin:0}.event-graph-self{background:#6a2c8a;border-radius:10px;padding:20px;text-align:center}.event-graph-self-label{font-size:.6875rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.event-graph-self-title{font-size:1.25rem;font-weight:700;color:#fff;font-family:Georgia,serif;margin:6px 0 10px}.event-graph-self-link{font-size:.8125rem;color:#ffffffd9;text-decoration:underline}.event-graph-loading{text-align:center;color:var(--color-text-muted);padding:32px}.event-graph-section{background:var(--color-surface);border-radius:10px;padding:16px 20px}.event-graph-section-title{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.event-graph-empty{font-size:.875rem;color:var(--color-text-muted);font-style:italic;margin:0}.event-graph-card{border-left:3px solid #999;padding-left:12px;padding-block:6px;margin-bottom:10px}.event-graph-card:last-child{margin-bottom:0}.event-graph-card-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.event-graph-card-type{font-size:.8125rem;font-weight:600;flex:1}.event-graph-card-year{font-size:.75rem;color:var(--color-text-muted)}.event-graph-card-delete{background:none;border:none;color:var(--color-error);font-size:.875rem;cursor:pointer;padding:2px 4px;opacity:.6}.event-graph-card-delete:hover{opacity:1}.event-graph-card-title{font-size:.9375rem;color:var(--color-text);text-decoration:none;font-weight:500;display:block}.event-graph-card-title:hover{color:var(--color-primary);text-decoration:underline}.event-graph-card-notes{font-size:.8125rem;color:var(--color-text-muted);font-style:italic;margin-top:3px}.event-graph-add-btn{display:block;background:#6a2c8a;color:#fff;text-align:center;padding:13px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9375rem;transition:opacity .15s}.event-graph-add-btn:hover{opacity:.88}.erf-page{min-height:100vh;background:var(--color-bg);padding:32px 24px}.erf-container{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.erf-back{background:none;border:none;font-size:.875rem;color:var(--color-primary);cursor:pointer;padding:0}.erf-back:hover{text-decoration:underline}.erf-title{font-size:1.375rem;font-weight:700;color:var(--color-text);margin:0}.erf-self-card{background:#6a2c8a;border-radius:10px;padding:18px;text-align:center}.erf-self-label{font-size:.6875rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.erf-self-title{font-size:1.0625rem;font-weight:700;color:#fff;font-family:Georgia,serif;margin-top:4px}.erf-section{background:var(--color-surface);border-radius:10px;padding:16px 20px}.erf-section-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.erf-dir-row{display:flex;gap:10px}.erf-dir-btn{flex:1;border:1px solid var(--color-border);border-radius:8px;padding:10px;background:var(--color-bg);cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);text-align:center;transition:border-color .15s,background .15s}.erf-dir-btn.active{border-color:#6a2c8a;background:#f5eefa;color:#6a2c8a;font-weight:600}.erf-rel-options{display:flex;flex-direction:column;gap:6px}.erf-rel-option{border:1px solid var(--color-border);border-radius:8px;padding:10px 14px;background:var(--color-bg);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,background .15s}.erf-rel-option.active{border-color:#6a2c8a;background:#f5eefa}.erf-rel-label{font-size:.875rem;font-weight:600;color:var(--color-text)}.erf-rel-option.active .erf-rel-label{color:#6a2c8a}.erf-rel-desc{font-size:.75rem;color:var(--color-text-muted)}.erf-search-hint{font-size:.75rem;color:var(--color-text-muted);font-style:italic;margin:0 0 8px}.erf-search-row{display:flex;align-items:center;gap:8px}.erf-search-input{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:9px 14px;font-size:.9375rem;color:var(--color-text);outline:none}.erf-search-input:focus{border-color:var(--color-primary)}.erf-search-spinner{font-size:1rem;color:var(--color-text-muted);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.erf-no-results{font-size:.875rem;color:var(--color-text-muted);font-style:italic;text-align:center;margin:8px 0 0}.erf-results{display:flex;flex-direction:column;margin-top:8px}.erf-result-item{display:flex;justify-content:space-between;align-items:center;padding:8px 4px;background:none;border:none;border-bottom:1px solid var(--color-border-light);cursor:pointer;text-align:left}.erf-result-item:last-child{border-bottom:none}.erf-result-item:hover .erf-result-title{color:var(--color-primary)}.erf-result-title{font-size:.875rem;color:var(--color-text);flex:1}.erf-result-date{font-size:.75rem;color:var(--color-text-muted)}.erf-selected{display:flex;justify-content:space-between;align-items:center;background:var(--color-bg);border-radius:8px;padding:10px 12px}.erf-selected-title{font-size:.9375rem;color:var(--color-text);font-weight:500;flex:1}.erf-clear-btn{background:none;border:none;font-size:.875rem;color:var(--color-primary);cursor:pointer}.erf-notes{width:100%;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:10px 14px;font-size:.9375rem;color:var(--color-text);resize:vertical;outline:none;box-sizing:border-box}.erf-notes:focus{border-color:var(--color-primary)}.erf-error{background:#fce4ec;color:var(--color-error);border-radius:6px;padding:8px 12px;font-size:.8125rem}.erf-save-btn{background:#6a2c8a;color:#fff;border:none;border-radius:8px;padding:13px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity .15s}.erf-save-btn:disabled{opacity:.45;cursor:not-allowed}.erf-save-btn:hover:not(:disabled){opacity:.88}.da-page{padding:32px 48px;max-width:1200px;margin:0 auto;min-height:100vh;background:var(--color-bg)}.da-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--primary-dark-blue)}.da-title{font-size:2rem;color:var(--primary-dark-blue);margin:0 0 4px}.da-subtitle{font-size:.875rem;color:var(--color-text-muted);margin:0}.da-btn-sources{padding:9px 18px;background:none;border:1.5px solid var(--primary-dark-blue);border-radius:8px;color:var(--primary-dark-blue);font-size:.875rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.da-btn-sources:hover{background:var(--primary-dark-blue);color:#fff}.da-loading,.da-empty{text-align:center;padding:48px 20px;color:var(--color-text-muted)}.da-empty p{font-size:1rem;margin:0 0 8px}.da-empty-hint{font-size:.875rem;font-style:italic}.da-count{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 12px 4px}.da-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.da-card{background:var(--color-surface);border-radius:10px;border:1px solid var(--color-border);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.da-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}.da-card-date{font-size:.75rem;color:var(--color-text-muted)}.da-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.da-engine-badge{font-size:.625rem;font-weight:700;padding:2px 7px;border-radius:10px;background:#6a2c8a22;color:#6a2c8a;text-transform:uppercase;letter-spacing:.5px}.da-sourced-badge{font-size:.625rem;font-weight:700;padding:2px 7px;border-radius:10px;background:#2c7a5a22;color:#2c7a5a}.da-delete-btn{background:none;border:none;font-size:.75rem;color:var(--color-error, #c0392b);cursor:pointer;padding:0;font-family:inherit}.da-delete-btn:hover{text-decoration:underline}.da-thumb-wrap{display:flex;flex-direction:column;gap:2px}.da-thumbnail{width:100%;max-height:180px;object-fit:cover;border-radius:6px;cursor:zoom-in}.da-thumb-hint{font-size:.6875rem;color:var(--color-text-muted);font-style:italic;margin:0}.da-summary{font-size:.875rem;color:var(--color-text);line-height:1.5;margin:0}.da-summary.clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.da-chips{display:flex;flex-wrap:wrap;gap:6px}.da-chip{font-size:.75rem;padding:3px 9px;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.da-names{display:flex;flex-wrap:wrap;gap:4px}.da-name-pill{font-size:.75rem;padding:3px 8px;border-radius:10px;background:#2c5f8a18;color:#2c5f8a}.da-raw-toggle{background:none;border:none;font-size:.75rem;color:var(--color-primary, #6a2c8a);cursor:pointer;padding:0;font-family:inherit;text-align:left}.da-raw-text{font-size:.75rem;color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:10px;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;margin:0;font-family:Courier New,monospace}.da-actions{display:flex;flex-wrap:wrap;gap:8px}.da-action-btn{flex:1;padding:8px 10px;border-radius:8px;border:1.5px solid var(--color-border);background:var(--color-bg);font-size:.8125rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;text-align:center}.da-action-btn:disabled{opacity:.5;cursor:not-allowed}.da-action-btn.source{border-color:#3a7a3a;color:#3a7a3a}.da-action-btn.source:hover:not(:disabled){background:#3a7a3a;color:#fff}.da-action-btn.source.done{border-color:#ccc;color:#999}.da-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:300;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.da-lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;cursor:default}.da-lightbox-close{position:fixed;top:16px;right:20px;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}@media (max-width: 768px){.da-page{padding:16px}.da-header{flex-direction:column;gap:12px}.da-grid{grid-template-columns:1fr}}
