*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Red Hat Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-weight:450;background-color:#fdf8ec;color:#5d524b;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-weight:450}button,input,select,textarea,label,.tree-meta,.admin-meta,.admin-stat-card span,.contrib-invite-header span,.contrib-item-meta span,.contrib-session-date,.contrib-role-badge,.contrib-link-url,.contrib-pass-value,.contrib-pass-reveal,.access-gate-tree-meta,.media-manager-meta span,.admin-audit-main span,.admin-audit-meta,.admin-person-item span,.account-help{font-family:Red Hat Mono,ui-monospace,monospace}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.relative{position:relative}.m-1{margin:.25rem}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.p-1{padding:.25rem}.p-2{padding:.5rem}.lowercase{text-transform:lowercase}.italic{font-style:italic}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@font-face{font-family:Bradford LL;src:url(/assets/BradfordLLWeb-Regular-u3i286Z7.woff) format("woff"),url(/assets/BradfordLL-Regular-EHg4aSCn.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bradford LL;src:url(/assets/BradfordLLWeb-Bold-gIVvFSF3.woff) format("woff"),url(/assets/BradfordLL-Bold-DbyJdZQT.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Bradford LL;src:url(/assets/BradfordLLWeb-Italic-BytfYdUw.woff) format("woff"),url(/assets/BradfordLL-Italic-CsgXz8i7.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Bradford Mono LL;src:url(/assets/BradfordMonoLLWeb-Regular-DVbyhwg0.woff) format("woff"),url(/assets/BradfordMonoLL-Regular-CSll0InW.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.galaxy-canvas{cursor:default;display:block;touch-action:none;-ms-touch-action:none;overscroll-behavior:contain}.path-label-overlay{position:fixed;bottom:88px;left:50%;transform:translate(-50%);z-index:500;background:#5d524be0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fef9ed;font-size:14px;font-weight:500;font-family:Red Hat Mono,ui-monospace,monospace;padding:8px 20px;border-radius:20px;white-space:nowrap;pointer-events:none;animation:pathLabelIn .2s cubic-bezier(.22,1,.36,1)}@keyframes pathLabelIn{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@media(max-width:768px){.path-label-overlay{bottom:76px;font-size:13px}}.geo-media-thumb{width:100%;height:100%;border-radius:inherit;overflow:hidden;display:grid;place-items:center;position:relative;background:#efe8db}.geo-media-thumb__svg{width:100%;height:100%;display:block}.geo-media-thumb__status{color:#5d524b8c;font-size:14px;font-weight:700;letter-spacing:.5px}.geo-media-thumb__fallback{color:#5d524bbf;font-size:12px;font-weight:700;letter-spacing:.8px}.geo-media-thumb.geojson .geo-media-thumb__grid{fill:none;stroke:#50765f29;stroke-width:1}.geo-media-thumb.gpx .geo-media-thumb__grid{fill:none;stroke:#37668f29;stroke-width:1}.geo-media-thumb.geojson .geo-media-thumb__bg-center{stop-color:#edf8ee}.geo-media-thumb.geojson .geo-media-thumb__bg-edge{stop-color:#dbe9dc}.geo-media-thumb.gpx .geo-media-thumb__bg-center{stop-color:#edf5fc}.geo-media-thumb.gpx .geo-media-thumb__bg-edge{stop-color:#dbe9f8}.geo-media-thumb.geojson .geo-media-thumb__path{fill:none;stroke:#3f6d55;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.geo-media-thumb.gpx .geo-media-thumb__path{fill:none;stroke:#37668f;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 2}.geo-media-thumb.geojson .geo-media-thumb__point-ring{fill:#3f6d5538}.geo-media-thumb.geojson .geo-media-thumb__point-core{fill:#2f5a46;stroke:#ffffffeb;stroke-width:1.2}.geo-media-thumb.gpx .geo-media-thumb__point-ring{fill:#37668f3d}.geo-media-thumb.gpx .geo-media-thumb__point-core{fill:#2f5a7e;stroke:#ffffffeb;stroke-width:1.2}.person-card{position:fixed;bottom:2rem;left:2rem;width:360px;max-height:calc(100vh - 4rem);background:#f7ecd9eb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:12px;border:1px solid rgba(93,82,75,.08);box-shadow:0 4px 80px #5d524b2e,0 1px 6px #5d524b0f;padding:0;color:#5d524b;animation:slideIn .5s cubic-bezier(.22,1,.36,1);z-index:1000;transform:rotate(-.8deg);overflow:hidden;display:flex;flex-direction:column}.person-card:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%) rotate(3deg);width:48px;height:16px;background:#a67c522e;border-radius:2px;box-shadow:0 1px 3px #5d524b14;z-index:1}@keyframes slideIn{0%{opacity:0;transform:translateY(24px) rotate(-.8deg)}to{opacity:1;transform:translateY(0) rotate(-.8deg)}}.close-btn{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;font-size:24px;color:#8b7355;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .25s ease,color .25s ease;z-index:10}.close-btn:hover{background:#5d524b14;color:#5d524b}.card-content{display:flex;flex-direction:column;min-height:0}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:.55rem;justify-content:center;padding:1.75rem 1.5rem .75rem;flex-shrink:0}.avatar-frame{width:96px;height:96px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px #f7ecd9,0 4px 24px #a67c522e;background:linear-gradient(145deg,#a67c52,#8b6843);display:flex;align-items:center;justify-content:center;transform:rotate(1.5deg)}.avatar-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-placeholder{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:32px;color:#fef9ed;font-weight:450;letter-spacing:1px}.avatar-edit-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.avatar-edit-input{display:none}.avatar-edit-btn{border:1px solid rgba(166,124,82,.32);background:#a67c5214;color:#8b6843;border-radius:999px;padding:.28rem .6rem;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.avatar-edit-btn:hover:not(:disabled){background:#a67c5229;border-color:#a67c5273;color:#5d524b}.avatar-edit-btn--danger{border-color:#c0392b40;background:#c0392b14;color:#b13a2f}.avatar-edit-btn--danger:hover:not(:disabled){border-color:#c0392b66;background:#c0392b24;color:#8f2d24}.avatar-edit-btn:disabled{opacity:.5;cursor:not-allowed}.avatar-edit-error{width:100%;text-align:center;color:#b13a2f;font-size:14px;font-weight:450;font-family:Red Hat Mono,ui-monospace,monospace}.info-header{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem 1.5rem 0;flex-shrink:0}.person-name{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:24px;font-weight:450;color:#5d524b;margin:0;line-height:1.15;text-align:center}.last-name{font-style:italic;color:#8b7355}.status-badge{display:inline-block;padding:.2rem .65rem;border-radius:50px;font-size:12px;font-weight:450;text-align:center;letter-spacing:.3px}.status-badge.alive{background:#a67c521f;color:#a67c52}.card-tabs{display:flex;gap:0;padding:.75rem 1.5rem 0;border-bottom:1px solid rgba(93,82,75,.08);flex-shrink:0}.card-tab{flex:1;background:none;border:none;padding:.5rem 0;font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:14px;font-weight:500;color:#8b7355;cursor:pointer;position:relative;transition:color .2s ease}.card-tab:hover{color:#5d524b}.card-tab.active{color:#5d524b;font-weight:450}.card-tab.active:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:#a67c52;border-radius:1px}.card-tab-content{padding:.75rem 1.5rem 1.25rem;overflow-y:auto;flex:1;min-height:0;max-height:320px}.card-tab-content::-webkit-scrollbar{width:4px}.card-tab-content::-webkit-scrollbar-track{background:transparent}.card-tab-content::-webkit-scrollbar-thumb{background:#a67c5233;border-radius:2px}.details{display:flex;flex-direction:column;gap:0}.detail-section-title{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:14px;font-weight:450;color:#a67c52;text-transform:uppercase;letter-spacing:.8px;padding:.65rem 0 .25rem;margin-top:.25rem}.detail-section-title:first-child{padding-top:0;margin-top:0}.detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:.45rem 0;border-bottom:1px solid rgba(93,82,75,.07)}.detail-row:last-child{border-bottom:none}.label{font-size:14px;color:#8b7355;font-weight:500;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.value{font-size:14px;color:#5d524b;font-weight:500;text-align:right;max-width:65%}.parentage-type{font-style:italic}.detail-note{font-size:14px;color:#5d524b;line-height:1.5;font-style:italic;border-left:2px solid rgba(166,124,82,.2);padding:.35rem 0 .25rem .75rem}.media-list{display:flex;flex-direction:column;gap:.35rem}.media-manage-btn{border:1px solid rgba(166,124,82,.35);background:#a67c521a;color:#8b6843;border-radius:999px;padding:.35rem .7rem;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.media-manage-btn:hover{background:#a67c522e;border-color:#a67c5280;color:#5d524b}.media-manage-footer{margin-top:.7rem}.media-manage-btn--footer{width:100%;border-radius:10px;padding:.55rem .8rem;font-size:14px}.media-empty{text-align:center;color:#8b7355;font-size:14px;font-style:italic;padding:1.5rem 0}.media-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .6rem;border-radius:8px;background:#fef9ed80;border:1px solid rgba(93,82,75,.05);cursor:pointer;transition:background .2s ease,box-shadow .2s ease;text-align:left;width:100%}.media-item:hover{background:#fef9edd9;box-shadow:0 2px 12px #5d524b14}.media-item-icon{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;overflow:hidden}.media-item-icon img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:4px}.person-card-media-thumb{width:100%;height:100%;border-radius:6px}.media-item-icon.photo{background:#a67c521a;color:#a67c52}.media-item-icon.video{background:#3a3530;color:#fef9edb3;font-size:14px}.media-item-icon.audio{background:#2c2825;color:#fef9ed99;border-radius:50%}.media-item-icon.document{background:#f0e8d8;color:#8b7355}.media-item-icon.citation{background:#f5edcf;color:#a67c52;font-family:Georgia,serif;font-size:14px;font-weight:700}.media-item-icon.geojson{background:#608c7024;color:#4f7660}.media-item-icon.gpx{background:#4076aa24;color:#37668f}.media-item-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.media-item-label{font-size:14px;font-weight:500;color:#5d524b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-item-type{font-size:12px;color:#8b7355;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.person-card--edit-mode{border:2px solid rgba(166,124,82,.3)}.person-card-edit-indicator{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;background:#52b2781f;font-family:Red Hat Mono,ui-monospace,monospace;font-size:12px;font-weight:700;color:#3d9a5e;text-transform:uppercase;letter-spacing:.4px;z-index:5}.person-card-edit-dot{width:6px;height:6px;border-radius:50%;background:#4cd964;animation:editDotPulse 2s ease-in-out infinite}@keyframes editDotPulse{0%,to{opacity:.6}50%{opacity:1}}.info-header-edit{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.person-name-input{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:24px;font-weight:450;color:#5d524b;text-align:center;border:none;border-bottom:1.5px dashed rgba(166,124,82,.3);background:transparent;padding:2px 8px;outline:none;width:80%;transition:border-color .2s ease}.person-name-input:focus{border-color:#a67c52}.person-name-input--last{font-style:italic;color:#8b7355;font-size:18px}.person-name-input::-moz-placeholder{color:#c4b5a4}.person-name-input::placeholder{color:#c4b5a4}.value--editable{font-size:14px!important;color:#5d524b!important;font-weight:500!important;text-align:right!important;max-width:65%!important;border:none;border-bottom:1.5px dashed rgba(166,124,82,.25);background:transparent;padding:2px 4px;outline:none;font-family:Red Hat Mono,ui-monospace,monospace;transition:border-color .2s ease}.value--editable:focus{border-color:#a67c52;background:#a67c520a}.value--editable::-moz-placeholder{color:#c4b5a4;font-style:italic}.value--editable::placeholder{color:#c4b5a4;font-style:italic}.detail-note--editable{font-size:14px;color:#5d524b;line-height:1.5;font-style:italic;padding:8px 10px;border:1.5px dashed rgba(166,124,82,.25);border-radius:8px;background:transparent;outline:none;font-family:Red Hat Mono,ui-monospace,monospace;resize:vertical;width:100%;transition:border-color .2s ease}.detail-note--editable:focus{border-color:#a67c52;background:#a67c520a}.detail-note--editable::-moz-placeholder{color:#c4b5a4}.detail-note--editable::placeholder{color:#c4b5a4}.relation-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(93,82,75,.06)}.relation-name{font-size:14px;font-weight:500;color:#5d524b;flex:1}.relation-meta{font-size:12px;color:#8b7355;text-transform:uppercase;letter-spacing:.3px}.relation-remove{width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:#b8a898;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.relation-remove:hover{background:#c0392b1a;color:#c0392b}.relation-empty{font-size:14px;color:#b8a898;font-style:italic;padding:4px 0}.relation-add-btn{display:flex;align-items:center;gap:5px;padding:6px 0;border:none;background:transparent;color:#a67c52;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;cursor:pointer;transition:color .15s ease;margin-bottom:8px}.relation-add-btn:hover{color:#8b6843}.relation-add-btn:disabled,.relation-remove:disabled{opacity:.45;cursor:not-allowed}.relation-feedback{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;border-radius:8px;padding:6px 10px;margin-bottom:8px}.relation-feedback--loading{color:#8b6843;background:#a67c521a;border:1px solid rgba(166,124,82,.25)}.relation-feedback--success{color:#2f7a4d;background:#52b2781f;border:1px solid rgba(82,178,120,.25)}.relation-feedback--error{color:#b13a2f;background:#c0392b1a;border:1px solid rgba(192,57,43,.22)}.person-card-actions{padding:12px 20px 16px;border-top:1px solid rgba(93,82,75,.08);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.person-card-save{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;border:none;background:#a67c52;color:#fef9ed;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.person-card-save:hover:not(:disabled){background:#96703e;box-shadow:0 2px 10px #a67c524d}.person-card-save:disabled{opacity:.4;cursor:not-allowed}.person-card-delete{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 12px;border-radius:8px;border:none;background:transparent;color:#c0392b;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;cursor:pointer;transition:all .15s ease}.person-card-delete:hover{background:#c0392b14}.person-card-delete-confirm{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#c0392b0f;border:1px solid rgba(192,57,43,.15)}.person-card-delete-text{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;color:#c0392b;flex:1}.person-card-delete-yes,.person-card-delete-no{padding:4px 10px;border-radius:6px;border:none;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease}.person-card-delete-yes{background:#c0392b;color:#fff}.person-card-delete-yes:hover{background:#a93226}.person-card-delete-no{background:transparent;color:#8b7355}.person-card-delete-no:hover{background:#5d524b14}.person-card-save--success{background:#52b278!important;pointer-events:none;animation:saveSuccessPulse .3s ease}@keyframes saveSuccessPulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.alive-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;border:1.5px solid transparent;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.2px}.alive-toggle--alive{background:#52b2781a;border-color:#52b27840;color:#3d9a5e}.alive-toggle--alive:hover{background:#52b2782e}.alive-toggle--deceased{background:#5d524b14;border-color:#5d524b26;color:#8b7355}.alive-toggle--deceased:hover{background:#5d524b24}.alive-toggle-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;transition:background .2s ease}.alive-toggle--alive .alive-toggle-dot{background:#4cd964}.alive-toggle--deceased .alive-toggle-dot{background:#8b7355}.relation-avatar-mini{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(145deg,#a67c52,#8b6843);display:flex;align-items:center;justify-content:center}.relation-avatar-mini img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.relation-avatar-mini span{font-size:12px;font-weight:450;color:#fef9ed}.relation-search-inline{position:relative;margin-bottom:8px;animation:relationSearchSlideIn .15s ease}@keyframes relationSearchSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.relation-search-inline-input-wrap{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1.5px solid rgba(166,124,82,.3);background:#ffffff80;transition:border-color .2s ease,box-shadow .2s ease}.relation-search-inline-input-wrap:focus-within{border-color:#a67c52;box-shadow:0 0 0 3px #a67c521a}.relation-search-inline-icon{color:#b8a898;flex-shrink:0}.relation-search-inline-input{flex:1;border:none;background:transparent;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;color:#5d524b;outline:none;min-width:0}.relation-search-inline-input::-moz-placeholder{color:#c4b5a4}.relation-search-inline-input::placeholder{color:#c4b5a4}.relation-search-inline-close{width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:#b8a898;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.relation-search-inline-close:hover{background:#5d524b1a;color:#5d524b}.relation-search-inline-list{list-style:none;margin:4px 0 0;padding:4px 0;background:#fef9edfa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;border:1px solid rgba(166,124,82,.15);box-shadow:0 4px 16px #5d524b1f;max-height:180px;overflow-y:auto}.relation-search-inline-list::-webkit-scrollbar{width:3px}.relation-search-inline-list::-webkit-scrollbar-thumb{background:#a67c5233;border-radius:2px}.relation-search-inline-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background .12s ease}.relation-search-inline-item:hover{background:#a67c5214}.relation-search-inline-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(145deg,#a67c52,#8b6843);display:flex;align-items:center;justify-content:center}.relation-search-inline-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.relation-search-inline-avatar span{font-size:12px;font-weight:450;color:#fef9ed}.relation-search-inline-info{display:flex;align-items:baseline;gap:6px;min-width:0}.relation-search-inline-name{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:500;color:#5d524b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.relation-search-inline-year{font-family:Red Hat Mono,ui-monospace,monospace;font-size:12px;color:#b8a898;flex-shrink:0}.relation-search-inline-empty{padding:12px 10px;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;color:#b8a898;font-style:italic;text-align:center}@media(max-width:768px){.person-card{left:1rem;right:1rem;bottom:1rem;width:auto;transform:rotate(-.5deg);max-height:calc(100vh - 2rem)}}.media-viewer-overlay{position:fixed;inset:0;background:#2d2824a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:2000;display:flex;align-items:center;justify-content:center;animation:overlayFadeIn .3s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.media-viewer-card{position:relative;max-width:480px;width:90vw;max-height:85vh;background:#f7ecd9f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:14px;border:1px solid rgba(93,82,75,.08);box-shadow:0 8px 100px #5d524b40,0 2px 8px #5d524b14;overflow-y:auto;animation:cardSlideIn .4s cubic-bezier(.22,1,.36,1);transform:rotate(-.5deg)}.media-viewer-card::-webkit-scrollbar{width:4px}.media-viewer-card::-webkit-scrollbar-track{background:transparent}.media-viewer-card::-webkit-scrollbar-thumb{background:#a67c5233;border-radius:2px}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95) rotate(-.5deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(-.5deg)}}.media-viewer-card:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%) rotate(2deg);width:56px;height:14px;background:#a67c5229;border-radius:2px;box-shadow:0 1px 3px #5d524b0f;z-index:1}.media-viewer-close{position:absolute;top:.75rem;right:.75rem;background:#5d524b0f;border:none;font-size:20px;line-height:1;color:#8b7355;cursor:pointer;width:32px;height:32px;padding:0;display:grid;place-items:center;border-radius:50%;transition:background .25s ease,color .25s ease;z-index:10}.media-viewer-close:hover{background:#5d524b1f;color:#5d524b}.media-viewer-content{padding:1.75rem 1.5rem 1.5rem}.media-viewer-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.media-viewer-person-avatar{width:44px;height:44px;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 0 0 2px #f7ecd9,0 2px 10px #a67c5226;flex-shrink:0}.media-viewer-person-initials{width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,#a67c52,#8b6843);display:flex;align-items:center;justify-content:center;color:#fef9ed;font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:16px;font-weight:450;flex-shrink:0;box-shadow:0 2px 10px #a67c5226}.media-viewer-person-info{display:flex;flex-direction:column;gap:.1rem}.media-viewer-person-name{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:16px;color:#5d524b;font-weight:450;line-height:1.2}.media-viewer-person-years{font-size:14px;color:#8b7355;font-weight:400}.media-viewer-label{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:20px;font-weight:450;color:#5d524b;margin-bottom:1rem;line-height:1.2}.media-viewer-source{margin:-.4rem 0 1rem;color:#6f6256;font-size:14px;line-height:1.35;word-break:break-word}.media-viewer-source a{color:#6a4f32;text-decoration:underline;text-underline-offset:2px}.media-viewer-source a:hover{color:#4f3b26}.media-viewer-type-badge{display:inline-block;padding:.25rem .6rem;border-radius:50px;font-size:12px;font-weight:450;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.media-viewer-type-badge.photo{background:#a67c521f;color:#a67c52}.media-viewer-type-badge.video{background:#3a35301a;color:#3a3530}.media-viewer-type-badge.audio{background:#2c28251a;color:#2c2825}.media-viewer-type-badge.document{background:#c8b9a033;color:#8b7355}.media-viewer-type-badge.citation{background:#f5edcf80;color:#a67c52}.media-viewer-type-badge.geojson{background:#608c702e;color:#4f7660}.media-viewer-type-badge.gpx{background:#4076aa33;color:#37668f}.media-photo-frame{padding:8px;background:#fef9ed;border-radius:4px;box-shadow:0 2px 20px #5d524b1a,0 0 0 1px #5d524b0d;transform:rotate(.8deg)}.media-photo-frame img{width:100%;border-radius:2px;display:block}.media-video-container{background:#2c2825;border-radius:8px;padding:2.5rem 3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:220px;position:relative;overflow:hidden}.media-video-perfs{position:absolute;left:8px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-around;gap:6px;padding:10px 0}.media-video-perfs.right{left:auto;right:8px}.media-video-perf{width:8px;height:8px;border-radius:1px;background:#fef9ed0f}.media-video-play{width:64px;height:64px;border-radius:50%;background:#fef9ed1a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.media-video-play:hover{background:#fef9ed2e;transform:scale(1.05)}.media-video-play-triangle{width:0;height:0;border-left:20px solid rgba(254,249,237,.7);border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}.media-video-text{color:#fef9ed59;font-size:14px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.media-video-player{width:100%;border-radius:10px;background:#1f1b18;box-shadow:0 3px 18px #2c28253d}.media-video-container--youtube{padding:0;min-height:280px}.media-video-player--youtube{width:100%;aspect-ratio:16 / 9;border:none;border-radius:10px;box-shadow:0 3px 18px #2c28253d}.media-audio-container{background:#2c2825;border-radius:50%;width:180px;height:180px;margin:0 auto;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 30px #2c28254d,inset 0 0 40px #0003}.media-audio-grooves{position:absolute;inset:10px;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0px,transparent 4px,rgba(254,249,237,.04) 4px,rgba(254,249,237,.04) 5px)}.media-audio-label-circle{width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#a67c52,#8b6843);display:flex;align-items:center;justify-content:center;z-index:1}.media-audio-hole{width:8px;height:8px;border-radius:50%;background:#2c2825}.media-audio-text{text-align:center;color:#8b7355;font-size:14px;margin-top:1rem;font-style:italic}.media-audio-player-wrap{padding:14px 12px;border-radius:10px;background:#ffffff8f;box-shadow:inset 0 0 0 1px #5d524b14}.media-audio-player{width:100%}.media-document-container{background:#f0e8d8;border-radius:2px;padding:2rem 1.5rem;min-height:160px;position:relative;box-shadow:0 2px 12px #5d524b14,0 0 0 1px #5d524b0f}.media-document-corner{position:absolute;top:0;right:0;width:28px;height:28px;background:linear-gradient(135deg,transparent 50%,#DDD3C2 50%)}.media-document-corner:before{content:"";position:absolute;top:0;right:0;width:28px;height:28px;background:linear-gradient(135deg,#F7ECD9 50%,transparent 50%)}.media-document-lines{display:flex;flex-direction:column;gap:10px;margin-top:.5rem}.media-document-line{height:3px;background:#5d524b14;border-radius:1px}.media-document-line:nth-child(3){width:85%}.media-document-line:nth-child(5){width:70%}.media-document-line:last-child{width:45%}.media-document-text{text-align:center;color:#8b7355;font-size:14px;margin-top:1.25rem;font-style:italic}.media-document-viewer{display:grid;gap:10px}.media-document-pdf{width:100%;min-height:430px;border:1px solid rgba(93,82,75,.18);border-radius:8px;background:#fff}.media-document-actions{display:flex;justify-content:center;margin-top:12px}.media-document-download{color:#6a4f32;font-size:14px;font-weight:450;text-decoration:none;border-bottom:1px dashed rgba(106,79,50,.45)}.media-document-download:hover{color:#4f3b26;border-bottom-color:#4f3b2699}.media-map-viewer{display:grid;gap:10px}.media-map-context{position:relative;height:280px;border-radius:10px;overflow:hidden;border:1px solid rgba(93,82,75,.14);background:#f1ecdf}.media-map-embed{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.media-map-svg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.media-map-svg--standalone{background:linear-gradient(160deg,#edf5fc,#eef7ef)}.media-map-grid{fill:none;stroke:#5d524b1f;stroke-width:1}.media-map-bg-center{stop-color:#ffffffbd}.media-map-bg-edge{stop-color:#e8e2d2d6}.media-map-trace{fill:none;stroke:#4076aa;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.media-map-point{fill:#4f7660;stroke:#ffffffd9;stroke-width:1.4}.media-map-point-ring{fill:#4f766033}.media-map-meta{display:flex;flex-wrap:wrap;gap:8px}.media-map-meta span{background:#ffffffad;border:1px solid rgba(93,82,75,.14);border-radius:999px;padding:4px 10px;color:#5d524b;font-size:14px}.media-map-status{color:#7a6f65;font-size:14px;text-align:center;padding:16px;background:#ffffffb8;border:1px dashed rgba(93,82,75,.22);border-radius:10px}.media-map-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.media-map-open{color:#37668f;font-size:14px;font-weight:450;text-decoration:none;border-bottom:1px dashed rgba(55,102,143,.45)}.media-map-open:hover{color:#2f5a7e;border-bottom-color:#2f5a7ea6}.media-citation-container{background:#f5edcf;border-radius:4px;padding:2.5rem 2rem 2rem;position:relative;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 12px #5d524b0f}.media-citation-tape{position:absolute;top:-4px;left:50%;transform:translate(-50%) rotate(1.5deg);width:48px;height:10px;background:#a67c5226;border-radius:1px}.media-citation-guillemet{font-family:Georgia,Times New Roman,serif;font-size:44px;color:#a67c5233;line-height:.6;margin-bottom:.5rem}.media-citation-text{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:18px;font-style:italic;color:#5d524b;text-align:center;line-height:1.4}@media(max-width:768px){.media-viewer-card{width:95vw;max-width:none;margin:1rem}.media-audio-container{width:140px;height:140px}}.media-manager-modal-overlay{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:20px;background:#231b1585;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.media-manager-modal-card{width:min(820px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;gap:12px;border-radius:18px;border:1px solid rgba(166,124,82,.25);background:radial-gradient(circle at top right,rgba(255,244,227,.65),transparent 60%),#fffdf8;padding:18px;box-shadow:0 24px 50px #20160f6b,0 2px 10px #20160f2e}.media-manager-modal-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.media-manager-modal-title-wrap h1{margin:0;font-size:24px;color:#453d37}.media-manager-modal-title-wrap p{margin:4px 0 0;color:#7a6d62;font-size:14px}.media-manager-close{border:1px solid #ccb79a;border-radius:10px;padding:9px 12px;background:transparent;color:#6a4f32;font-weight:700;cursor:pointer}.media-manager-close:hover{background:#a67c521a}.media-manager-modal-form{display:grid;gap:8px;border:1px solid rgba(166,124,82,.2);border-radius:12px;padding:12px;background:#ffffffb8}.media-manager-modal-form label{font-size:14px;color:#6e6258}.media-manager-modal-form input,.media-manager-modal-form select{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.media-manager-modal-textarea{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none;resize:vertical;min-height:96px}.media-manager-modal-form input:focus,.media-manager-modal-form select:focus,.media-manager-modal-textarea:focus{border-color:#b99762;box-shadow:0 0 0 2px #b9976226}.media-manager-video-mode{display:flex;gap:20px}.media-manager-video-mode label{display:flex;align-items:center;gap:6px;cursor:pointer}.media-manager-video-mode input[type=radio]{width:auto;margin:0;accent-color:#8b6a43}.media-manager-modal-form button{border:0;border-radius:10px;padding:10px 12px;font-weight:700;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer}.media-manager-modal-form button:disabled,.media-manager-modal-actions button:disabled{opacity:.5;cursor:not-allowed}.media-manager-modal-error{background:#ab31311a;border:1px solid rgba(171,49,49,.32);color:#862f2f;border-radius:10px;padding:10px 12px;font-size:14px}.media-manager-modal-list{display:grid;gap:8px}.media-manager-modal-item{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:10px;border:1px solid #d8c7ac;background:#fffc;border-radius:10px;padding:8px}.media-manager-modal-preview{width:74px;height:74px;border-radius:8px;background:#f3ecdf;overflow:hidden;display:grid;place-items:center;color:#6e6258;font-size:14px;text-transform:capitalize}.media-manager-modal-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.media-manager-modal-preview-map{width:100%;height:100%;border-radius:8px}.media-manager-modal-meta{display:grid;gap:2px;color:#5a4d44}.media-manager-modal-meta span{color:#7a6f65;font-size:14px}.media-manager-modal-meta a{color:#6a4f32;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.media-manager-modal-actions{display:flex;gap:6px}.media-manager-action-ghost{border:1px solid #ccb79a;border-radius:8px;padding:8px 10px;background:transparent;color:#6a4f32;font-weight:450;cursor:pointer}.media-manager-action-ghost:hover:not(:disabled){background:#a67c521a}.media-manager-action-danger{border:1px solid rgba(192,57,43,.22);border-radius:8px;padding:8px 10px;background:#c0392b1a;color:#b13a2f;font-weight:700;cursor:pointer}.media-manager-action-danger:hover:not(:disabled){background:#c0392b2e}.media-manager-modal-empty{color:#6e6258;background:#ffffffb8;border:1px dashed #d8c7ac;border-radius:10px;padding:12px}@media(max-width:700px){.media-manager-modal-item{grid-template-columns:1fr}.media-manager-modal-actions{width:100%}.media-manager-modal-actions button{flex:1}}.tree-wizard-overlay{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#2c241e5c}.tree-wizard-card{width:min(480px,100%);display:grid;gap:10px;border-radius:16px;border:1px solid #d8c7ac;background:#fffdf8;padding:20px;box-shadow:0 24px 45px #32261957}.tree-wizard-card h2{color:#453d37;font-size:26px;line-height:1.15}.tree-wizard-card p{color:#6e6258}.tree-wizard-card label{font-size:14px;color:#6e6258}.tree-wizard-card input{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.tree-wizard-card input:focus{border-color:#b99762;box-shadow:0 0 0 2px #b9976226}.tree-wizard-form{display:grid;gap:8px}.tree-wizard-actions{display:flex;justify-content:space-between;gap:8px;margin-top:4px}.tree-wizard-actions button{border:0;border-radius:10px;padding:11px 14px;font-weight:450;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer}.tree-wizard-actions button:disabled{opacity:.65;cursor:not-allowed}.tree-wizard-actions .ghost{background:transparent;color:#6a4f32;border:1px solid #cdb89a}.tree-wizard-error{background:#ab31311a;border:1px solid rgba(171,49,49,.32);color:#862f2f;border-radius:10px;padding:10px 12px;font-size:14px}.edit-mode-border{position:fixed;inset:0;pointer-events:none;z-index:999;border:2px solid transparent}.edit-mode-border--contributor{border-color:#ff950094;box-shadow:inset 0 0 32px #ff95001a,0 0 32px #ff950024;animation:editPulseContributor 3s ease-in-out infinite}.edit-mode-border--admin{border-color:#52b27885;box-shadow:inset 0 0 32px #52b2781a,0 0 32px #52b27821;animation:editPulseAdmin 3s ease-in-out infinite}@keyframes editPulseContributor{0%,to{border-color:#ff950094}50%{border-color:#ff9500b8}}@keyframes editPulseAdmin{0%,to{border-color:#52b27885}50%{border-color:#52b278ad}}.edit-mode-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1001;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,149,0,.28);background:#f7ecd9f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 6px 20px #5d524b1f}.edit-mode-toast--admin{border-color:#52b2784d}.edit-mode-toast-text{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;color:#5d524b;white-space:nowrap}.edit-mode-submit{border:none;border-radius:999px;padding:6px 12px;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;color:#fef9ed;background:#a67c52;cursor:pointer;transition:background .2s ease,opacity .2s ease}.edit-mode-submit:hover:not(:disabled){background:#8e6840}.edit-mode-submit:disabled{opacity:.45;cursor:default}.edit-mode-submit--admin{background:#52b278}.edit-mode-submit--admin:hover:not(:disabled){background:#439a66}.edit-mode-toast-close{width:24px;height:24px;border:none;border-radius:999px;background:transparent;color:#7c6b5c;display:flex;align-items:center;justify-content:center;cursor:pointer}.edit-mode-toast-close:hover{background:#5d524b1f;color:#5d524b}@media(max-width:768px){.edit-mode-toast{left:12px;right:12px;transform:none;border-radius:12px;justify-content:space-between;gap:8px}.edit-mode-toast-text{min-width:0;white-space:normal}}.edit-confirm-backdrop{position:fixed;inset:0;z-index:2000;background:#1e19148c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:confirmFadeIn .2s ease}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.edit-confirm-modal{width:380px;max-width:calc(100vw - 32px);padding:32px 28px 24px;background:#fef9edf7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:20px;border:1px solid rgba(166,124,82,.2);box-shadow:0 20px 60px #5d524b40,0 4px 16px #5d524b1a;text-align:center;animation:confirmSlideUp .3s cubic-bezier(.22,1,.36,1)}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.edit-confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#ff95001a;color:#e08600;margin-bottom:16px}.edit-confirm-title{font-family:Red Hat Mono,ui-monospace,monospace;font-size:18px;font-weight:700;color:#5d524b;margin:0 0 8px}.edit-confirm-message{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;color:#8b7355;margin:0 0 24px;line-height:1.5}.edit-confirm-actions{display:flex;flex-direction:column;gap:8px}.edit-confirm-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;border:none;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;cursor:pointer;transition:all .2s ease}.edit-confirm-btn:focus-visible{outline:2px solid #A67C52;outline-offset:2px}.edit-confirm-btn--continue{background:#a67c5214;color:#a67c52;border:1.5px solid rgba(166,124,82,.25)}.edit-confirm-btn--continue:hover{background:#a67c5226;border-color:#a67c5266}.edit-confirm-btn--save{background:#a67c52;color:#fef9ed}.edit-confirm-btn--save:hover{background:#96703e;box-shadow:0 4px 12px #a67c524d}.edit-confirm-btn--discard{background:transparent;color:#c0392b;font-weight:500}.edit-confirm-btn--discard:hover{background:#c0392b14}@media(max-width:768px){.edit-confirm-modal{padding:24px 20px 20px}}.draft-restore-banner{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:1002;animation:draftBannerSlideDown .5s cubic-bezier(.22,1,.36,1)}@keyframes draftBannerSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-24px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.draft-restore-content{display:flex;align-items:center;gap:14px;padding:12px 18px;background:#fef9edf7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:50px;border:1px solid rgba(166,124,82,.25);box-shadow:0 8px 28px #5d524b2e,0 2px 8px #5d524b14}.draft-restore-text{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;color:#5d524b;white-space:nowrap}.draft-restore-time{font-weight:400;color:#8b7355}.draft-restore-actions{display:flex;align-items:center;gap:6px}.draft-restore-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:none;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;cursor:pointer;transition:all .2s ease;white-space:nowrap}.draft-restore-btn:focus-visible{outline:2px solid #A67C52;outline-offset:2px}.draft-restore-btn--restore{background:#a67c52;color:#fef9ed}.draft-restore-btn--restore:hover{background:#96703e;box-shadow:0 2px 8px #a67c524d}.draft-restore-btn--discard{background:#5d524b14;color:#8b7355}.draft-restore-btn--discard:hover{background:#5d524b26;color:#5d524b}@media(max-width:768px){.draft-restore-banner{top:12px;left:12px;right:12px;transform:none}@keyframes draftBannerSlideDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.draft-restore-content{flex-wrap:wrap;justify-content:center;border-radius:16px;padding:10px 14px;gap:8px}}.add-person-panel{position:fixed;top:0;left:0;bottom:0;width:400px;z-index:1050;background:#fef9edfa;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid rgba(166,124,82,.15);box-shadow:6px 0 32px #5d524b26;transform:translate(-100%);transition:transform .35s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;overflow:hidden}.add-person-panel--open{transform:translate(0)}.add-person-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(166,124,82,.1);flex-shrink:0}.add-person-header-title{display:flex;align-items:center;gap:10px;color:#5d524b}.add-person-header-title h2{font-family:Red Hat Mono,ui-monospace,monospace;font-size:18px;font-weight:700;margin:0;color:#5d524b}.add-person-close{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:#8b7355;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.add-person-close:hover{background:#5d524b1a;color:#5d524b}.add-person-form{flex:1;overflow-y:auto;padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.add-person-field{display:flex;flex-direction:column;gap:6px}.add-person-label{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;color:#8b7355;text-transform:uppercase;letter-spacing:.5px}.add-person-required{color:#c0392b}.add-person-input{padding:10px 14px;border-radius:10px;border:1.5px solid rgba(166,124,82,.2);background:#fff9;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;color:#5d524b;transition:all .2s ease;outline:none}.add-person-input::-moz-placeholder{color:#b8a898}.add-person-input::placeholder{color:#b8a898}.add-person-input:focus{border-color:#a67c52;box-shadow:0 0 0 3px #a67c521f}.add-person-input--error{border-color:#c0392b80}.add-person-input--error:focus{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b1a}.add-person-error-text{font-size:14px;color:#c0392b}.add-person-row{display:flex;gap:12px}.add-person-row .add-person-field{flex:1}.add-person-section{margin-top:8px;padding-top:16px;border-top:1px solid rgba(166,124,82,.1);display:flex;flex-direction:column;gap:12px}.add-person-section-title{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;color:#5d524b;margin:0}.relation-type-pills{display:flex;gap:6px;flex-wrap:wrap}.relation-type-pill{padding:5px 12px;border-radius:20px;border:1.5px solid rgba(166,124,82,.2);background:transparent;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;color:#8b7355;cursor:pointer;transition:all .2s ease}.relation-type-pill:hover{border-color:#a67c5266;background:#a67c520d}.relation-type-pill--active{border-color:#a67c52;background:#a67c521a;color:#a67c52}.relation-search-wrapper{position:relative}.relation-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#b8a898;pointer-events:none}.relation-search-input{padding-left:32px!important;padding-right:28px!important}.relation-search-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#b8a898;pointer-events:none}.relation-dropdown-wrapper{position:relative}.relation-dropdown-list{position:absolute;top:100%;left:0;right:0;z-index:10;margin:4px 0 0;padding:4px;list-style:none;background:#fef9edfc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(166,124,82,.2);border-radius:12px;box-shadow:0 8px 24px #5d524b26;max-height:200px;overflow-y:auto}.relation-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:background .15s ease;text-align:left}.relation-dropdown-item:hover{background:#a67c5214}.relation-dropdown-name{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;color:#5d524b}.relation-dropdown-date{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;color:#b8a898}.relation-tags{display:flex;flex-wrap:wrap;gap:6px}.relation-tag{display:flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:20px;background:#a67c5214;border:1px solid rgba(166,124,82,.15)}.relation-tag-type{font-family:Red Hat Mono,ui-monospace,monospace;font-size:12px;font-weight:700;color:#a67c52;text-transform:uppercase;letter-spacing:.3px}.relation-tag-name{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;color:#5d524b}.relation-tag-remove{width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:#8b7355;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.relation-tag-remove:hover{background:#c0392b1a;color:#c0392b}.add-person-error{padding:10px 14px;border-radius:10px;background:#c0392b14;border:1px solid rgba(192,57,43,.2);color:#c0392b;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px}.add-person-actions{margin-top:auto;padding-top:16px;border-top:1px solid rgba(166,124,82,.1);display:flex;flex-direction:column;gap:8px}.add-person-submit{padding:12px 20px;border-radius:12px;border:none;background:#a67c52;color:#fef9ed;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.add-person-submit:hover:not(:disabled){background:#96703e;box-shadow:0 4px 16px #a67c524d}.add-person-submit:disabled{opacity:.5;cursor:not-allowed}.add-person-cancel{padding:10px 20px;border-radius:12px;border:none;background:transparent;color:#8b7355;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;cursor:pointer;transition:all .2s ease}.add-person-cancel:hover{background:#5d524b14;color:#5d524b}@media(max-width:768px){.add-person-panel{width:90vw}.add-person-header{padding:16px 18px 12px}.add-person-form{padding:16px 18px 20px}}.contrib-session-backdrop{position:fixed;inset:0;z-index:2000;background:#1e19148c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:contribFadeIn .2s ease}@keyframes contribFadeIn{0%{opacity:0}to{opacity:1}}.contrib-session-modal{position:relative;width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow-y:auto;padding:32px 28px 24px;background:#fef9edf7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:20px;border:1px solid rgba(166,124,82,.2);box-shadow:0 20px 60px #5d524b40,0 4px 16px #5d524b1a;animation:contribSlideUp .3s cubic-bezier(.22,1,.36,1)}@keyframes contribSlideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.contrib-session-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:#8b7355;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.contrib-session-close:hover{background:#5d524b1a;color:#5d524b}.contrib-session-header{text-align:center;margin-bottom:20px}.contrib-session-icon{color:#ff9500;margin-bottom:12px}.contrib-session-title{font-family:Red Hat Mono,ui-monospace,monospace;font-size:18px;font-weight:700;color:#5d524b;margin:0 0 6px}.contrib-session-subtitle{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;color:#8b7355;margin:0;line-height:1.4}.contrib-session-recap{display:flex;justify-content:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}.contrib-recap-tag{padding:4px 10px;border-radius:12px;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;letter-spacing:.3px}.contrib-recap-tag--added{background:#52b2781f;color:#3d9a5e}.contrib-recap-tag--modified{background:#ff95001f;color:#e08600}.contrib-recap-tag--deleted{background:#c0392b1a;color:#c0392b}.contrib-session-changes{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;max-height:180px;overflow-y:auto;padding:10px 12px;border-radius:10px;background:#ffffff80;border:1px solid rgba(166,124,82,.15)}.contrib-session-change-row{display:flex;align-items:center;gap:8px;font-family:Red Hat Mono,ui-monospace,monospace;font-size:13px}.contrib-session-change-badge{padding:2px 7px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.3px;flex-shrink:0}.contrib-session-change-badge--create{background:#52b27826;color:#3d9a5e}.contrib-session-change-badge--update{background:#ff95001f;color:#e08600}.contrib-session-change-badge--delete{background:#c0392b1a;color:#c0392b}.contrib-session-change-label{color:#5d524b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contrib-session-form{display:flex;flex-direction:column;gap:16px}.contrib-session-field{display:flex;flex-direction:column;gap:6px;position:relative}.contrib-session-label{font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;color:#8b7355;text-transform:uppercase;letter-spacing:.5px}.contrib-session-optional{font-weight:400;text-transform:none;letter-spacing:0;color:#b8a898}.contrib-session-input{padding:10px 14px;border-radius:10px;border:1.5px solid rgba(166,124,82,.2);background:#fff9;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;color:#5d524b;transition:all .2s ease;outline:none}.contrib-session-input:focus{border-color:#a67c52;box-shadow:0 0 0 3px #a67c521f}.contrib-session-input::-moz-placeholder{color:#b8a898}.contrib-session-input::placeholder{color:#b8a898}.contrib-session-textarea{padding:10px 14px;border-radius:10px;border:1.5px solid rgba(166,124,82,.2);background:#fff9;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;color:#5d524b;transition:all .2s ease;outline:none;resize:vertical;min-height:60px}.contrib-session-textarea:focus{border-color:#a67c52;box-shadow:0 0 0 3px #a67c521f}.contrib-session-textarea::-moz-placeholder{color:#b8a898}.contrib-session-textarea::placeholder{color:#b8a898}.contrib-session-count{position:absolute;bottom:8px;right:12px;font-family:Red Hat Mono,ui-monospace,monospace;font-size:12px;color:#b8a898}.contrib-session-error{padding:10px 14px;border-radius:10px;background:#c0392b14;border:1px solid rgba(192,57,43,.2);color:#c0392b;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px}.contrib-session-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.contrib-session-submit{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;border:none;background:#ff9500;color:#fff;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.contrib-session-submit:hover:not(:disabled){background:#e08600;box-shadow:0 4px 16px #ff95004d}.contrib-session-submit:disabled{opacity:.5;cursor:not-allowed}.contrib-session-cancel{padding:10px 20px;border-radius:12px;border:none;background:transparent;color:#8b7355;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:450;cursor:pointer;transition:all .15s ease}.contrib-session-cancel:hover{background:#5d524b14;color:#5d524b}@media(max-width:768px){.contrib-session-modal{margin:16px;padding:24px 20px 20px}}.nav-button{position:relative;width:48px;height:48px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .25s cubic-bezier(.22,1,.36,1);color:#5d524b}.nav-button:hover:not(.disabled){background:#a67c521f;transform:scale(1.08)}.nav-button:active:not(.disabled){transform:scale(.95)}.nav-button.active{background:#a67c522e;color:#a67c52}.nav-button.disabled{opacity:.4;cursor:not-allowed}.nav-button-icon{font-size:20px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.05))}.nav-button-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:14px;font-weight:450;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 6px #00000026;animation:badgePulse 2s ease-in-out infinite}.nav-button-badge.orange{background:#ff9500}.nav-button-badge.gray{background:#8e8e93;animation:none}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.avatar-menu.account-menu{position:absolute;bottom:calc(100% + 8px);right:0;width:min(340px,86vw);max-height:min(70vh,520px);overflow-y:auto;background:#f7ecd9fa;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:12px;border:1px solid rgba(93,82,75,.08);box-shadow:0 8px 32px #5d524b40,0 2px 8px #5d524b14;padding:8px;animation:dropdownSlideUp .25s cubic-bezier(.22,1,.36,1);transform-origin:bottom right}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.account-menu-header{display:grid;gap:2px;padding:8px 10px 10px}.account-menu-header--action{width:100%;border:none;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.account-menu-header--action:hover{background:#a67c521a}.account-menu-header strong{color:#42382f;font-size:15px}.account-menu-header span{color:#7d6e60;font-size:13px}.account-menu-trees{border-top:1px solid rgba(93,82,75,.08);border-bottom:1px solid rgba(93,82,75,.08);padding:8px 0;display:grid;gap:4px}.account-menu-single-tree{display:flex;align-items:center;gap:8px;border-radius:8px;padding:10px 12px;color:#5d524b;font-size:14px}.avatar-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:500;color:#5d524b;text-align:left;transition:all .2s ease}.avatar-menu-item:hover{background:#a67c521a}.avatar-menu-item.danger{color:#d32f2f}.avatar-menu-item.danger:hover{background:#d32f2f14}.tree-choice{align-items:center}.tree-choice-dot{width:8px;height:8px;border-radius:50%;background:#baa17f;flex-shrink:0}.tree-choice.active{background:#a67c5229;font-weight:700}.tree-choice.active .tree-choice-dot{background:#8b6a43}.tree-choice-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-choice-arrow{color:#9a8570}.tree-create{color:#7a5d3a}.avatar-menu-icon{opacity:.85;display:inline-flex;align-items:center}.avatar-menu-separator{height:1px;background:#5d524b14;margin:6px 0}.drawing-options{display:flex;flex-direction:column;gap:12px}.drawing-options__section{display:flex;flex-direction:column;gap:6px}.drawing-options__label{font-size:14px;font-weight:450;color:#8b7355;text-transform:uppercase;letter-spacing:.5px}.drawing-options__colors{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.drawing-options__color-btn{width:28px;height:28px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .15s ease}.drawing-options__color-btn:hover{transform:scale(1.12)}.drawing-options__color-btn--active{border-color:#5d524b;box-shadow:0 0 0 2px #5d524b33}.drawing-options__widths{display:flex;gap:6px}.drawing-options__width-btn{flex:1;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1.5px solid rgba(166,124,82,.2);background:transparent;cursor:pointer;transition:all .15s ease}.drawing-options__width-btn:hover{background:#a67c5214}.drawing-options__width-btn--active{border-color:#a67c52;background:#a67c521a}.drawing-options__width-preview{width:24px;border-radius:999px;display:block}.text-options{display:flex;flex-direction:column;gap:12px}.text-options__section{display:flex;flex-direction:column;gap:6px}.text-options__label{font-size:14px;font-weight:450;color:#8b7355;text-transform:uppercase;letter-spacing:.5px}.text-options__colors{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.text-options__color-btn{width:28px;height:28px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .15s ease}.text-options__color-btn:hover{transform:scale(1.12)}.text-options__color-btn--active{border-color:#5d524b;box-shadow:0 0 0 2px #5d524b33}.text-options__sizes{display:flex;gap:4px}.text-options__size-btn{flex:1;padding:6px 4px;border-radius:8px;border:1.5px solid rgba(166,124,82,.2);background:transparent;color:#5d524b;font-size:14px;font-weight:450;cursor:pointer;transition:all .15s ease}.text-options__size-btn:hover{background:#a67c5214}.text-options__size-btn--active{border-color:#a67c52;background:#a67c521a;color:#a67c52}.text-options__toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.text-options__toggle input{position:absolute;opacity:0;width:0;height:0}.text-options__toggle-track{position:relative;width:36px;height:20px;border-radius:999px;background:#a67c5233;transition:background .2s ease}.text-options__toggle input:checked+.text-options__toggle-track{background:#a67c52}.text-options__toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.text-options__toggle input:checked+.text-options__toggle-track .text-options__toggle-thumb{transform:translate(16px)}.text-options__toggle-label{font-size:14px;font-weight:500;color:#5d524b}.sticker-picker{display:flex;flex-direction:column;gap:6px}.sticker-picker__label{font-size:14px;font-weight:450;color:#8b7355;text-transform:uppercase;letter-spacing:.5px}.sticker-picker__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.sticker-picker__btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1.5px solid transparent;border-radius:8px;background:transparent;font-size:20px;cursor:pointer;transition:all .2s cubic-bezier(.22,1,.36,1)}.sticker-picker__btn:hover{background:#a67c520f;transform:scale(1.1) translateY(-1px);box-shadow:0 3px 8px #5d524b1f}.sticker-picker__btn--active{border-color:#a67c524d;background:#fef9edf2;transform:scale(1.2) translateY(-6px);box-shadow:0 8px 20px #5d524b33,0 2px 6px #5d524b1a;animation:stickerGrab .35s cubic-bezier(.22,1,.36,1)}@keyframes stickerGrab{0%{transform:scale(1) translateY(0);box-shadow:0 1px 2px #5d524b14}50%{transform:scale(1.28) translateY(-10px);box-shadow:0 14px 28px #5d524b38,0 4px 8px #5d524b1a}to{transform:scale(1.2) translateY(-6px);box-shadow:0 8px 20px #5d524b33,0 2px 6px #5d524b1a}}.sticker-picker__preview{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#a67c5214;border:1px solid rgba(166,124,82,.15);animation:previewSlideIn .3s cubic-bezier(.22,1,.36,1)}@keyframes previewSlideIn{0%{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.sticker-picker__preview-emoji{font-size:28px;line-height:1;animation:previewEmojiBounce .5s cubic-bezier(.22,1,.36,1)}@keyframes previewEmojiBounce{0%{transform:scale(.5) rotate(-10deg)}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0)}}.sticker-picker__preview-hint{font-size:14px;color:#8b7355;font-style:italic}.contextual-navbar{position:fixed;bottom:20px;right:20px;z-index:1000;animation:navbarSlideIn .6s cubic-bezier(.22,1,.36,1)}.contextual-navbar--dragging{pointer-events:none}@keyframes navbarSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.navbar-content{display:flex;align-items:center;gap:4px;padding:6px;background:#f7ecd9f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:50px;border:1px solid rgba(93,82,75,.08);box-shadow:0 4px 80px #5d524b33,0 1px 6px #5d524b14}.nav-dropdown-wrapper{position:relative}.nav-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#a67c52,#8b6843);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 8px #0000001f;border:2px solid transparent}.nav-avatar:hover{transform:scale(1.08);box-shadow:0 4px 16px #a67c524d}.nav-avatar.active{border-color:#a67c52}.nav-avatar.admin{box-shadow:0 0 0 2px #f7ecd9,0 0 0 3px #a67c52,0 2px 8px #0000001f}.nav-avatar-initial{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:20px;font-weight:450;color:#fef9ed;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-avatar-photo{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}@media(max-width:768px){.contextual-navbar{bottom:12px;right:12px}.navbar-content{padding:4px;gap:2px}.nav-avatar,.nav-button{width:44px;height:44px}.nav-button-icon{font-size:18px}}.navbar-content--annot{gap:3px;padding:5px;border:1px solid rgba(166,124,82,.15);animation:annotNavMorphIn .45s cubic-bezier(.22,1,.36,1)}@keyframes annotNavMorphIn{0%{opacity:.4;transform:scale(.88);filter:blur(4px)}50%{filter:blur(0)}to{opacity:1;transform:scale(1);filter:blur(0)}}.navbar-content--annot>*{animation:annotBtnPop .38s cubic-bezier(.22,1,.36,1) both}.navbar-content--annot>*:nth-child(1){animation-delay:0ms}.navbar-content--annot>*:nth-child(2){animation-delay:25ms}.navbar-content--annot>*:nth-child(3){animation-delay:45ms}.navbar-content--annot>*:nth-child(4){animation-delay:65ms}.navbar-content--annot>*:nth-child(5){animation-delay:85ms}.navbar-content--annot>*:nth-child(6){animation-delay:105ms}.navbar-content--annot>*:nth-child(7){animation-delay:125ms}.navbar-content--annot>*:nth-child(8){animation-delay:145ms}.navbar-content--annot>*:nth-child(9){animation-delay:165ms}@keyframes annotBtnPop{0%{opacity:0;transform:translateY(6px) scale(.82)}65%{transform:translateY(-1px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}.nav-annot-exit{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#5d524b14;color:#8b7355;cursor:pointer;transition:all .3s cubic-bezier(.22,1,.36,1);flex-shrink:0}.nav-annot-exit:hover{background:#5d524b29;color:#5d524b;transform:rotate(90deg)}.nav-annot-exit:active{transform:rotate(90deg) scale(.88)}.nav-annot-sep{width:1px;height:24px;background:linear-gradient(180deg,transparent,rgba(166,124,82,.18),transparent);margin:0 2px;border-radius:1px;flex-shrink:0}.nav-annot-btn{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:transparent;color:#5d524b;cursor:pointer;transition:all .25s cubic-bezier(.22,1,.36,1);flex-shrink:0}.nav-annot-btn:hover:not(:disabled){background:#a67c521a;transform:translateY(-1px)}.nav-annot-btn:active:not(:disabled){transform:scale(.92)}.nav-annot-btn--active{background:linear-gradient(140deg,#8b6a43,#6a4f32);color:#fef9ed;box-shadow:0 2px 10px #a67c5259}.nav-annot-btn--active:hover:not(:disabled){background:linear-gradient(140deg,#96703e,#7a5a3a);transform:translateY(-1px)}.nav-annot-btn--panel-open:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#fef9ed;opacity:.7;animation:annotDotFade 1.8s ease-in-out infinite}@keyframes annotDotFade{0%,to{opacity:.5}50%{opacity:1}}.nav-annot-btn--trash:disabled{opacity:.28;cursor:not-allowed}.nav-annot-btn--trash:not(:disabled):hover{background:#c0392b1a;color:#c0392b}.nav-annot-btn--drag-target{color:#c0392b;background:#c0392b0f}.nav-annot-btn--drag-over{background:#c0392b29!important;color:#c0392b!important;transform:scale(1.12);box-shadow:0 0 0 3px #c0392b1f;transition:all .15s cubic-bezier(.22,1,.36,1)}.nav-annot-btn--add{color:#a67c52}.nav-annot-btn--add:hover:not(:disabled){color:#8b6843}.navbar-annot-panel{position:absolute;bottom:calc(100% + 10px);right:0;padding:14px;border-radius:16px;background:#fef9edf5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(166,124,82,.15);box-shadow:0 8px 40px #5d524b2e,0 2px 8px #5d524b0f;min-width:190px;animation:annotPanelSlideUp .3s cubic-bezier(.22,1,.36,1)}@keyframes annotPanelSlideUp{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.tree-dropdown{position:absolute;bottom:calc(100% + 8px);right:0;min-width:320px;max-width:400px;max-height:480px;background:#f7ecd9fa;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:12px;border:1px solid rgba(93,82,75,.08);box-shadow:0 8px 32px #5d524b40,0 2px 8px #5d524b14;padding:8px;overflow-y:auto;animation:dropdownSlideUp .25s cubic-bezier(.22,1,.36,1);transform-origin:bottom right}.tree-dropdown::-webkit-scrollbar{width:6px}.tree-dropdown::-webkit-scrollbar-track{background:transparent}.tree-dropdown::-webkit-scrollbar-thumb{background:#a67c5233;border-radius:3px}.tree-dropdown-section{margin-bottom:8px}.tree-dropdown-section:last-child{margin-bottom:0}.tree-dropdown-section-title{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:14px;font-weight:450;color:#a67c52;text-transform:uppercase;letter-spacing:.8px;padding:8px 12px 6px}.tree-dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s ease}.tree-dropdown-item:hover{background:#a67c5214}.tree-dropdown-item.active{background:#a67c5226}.tree-dropdown-item-thumb{width:40px;height:40px;border-radius:8px;overflow:hidden;background:linear-gradient(145deg,#a67c52,#8b6843);flex-shrink:0;display:flex;align-items:center;justify-content:center}.tree-dropdown-item-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tree-dropdown-item-icon{font-size:20px}.tree-dropdown-item-info{flex:1;min-width:0}.tree-dropdown-item-name{font-size:14px;font-weight:500;color:#5d524b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-dropdown-item-role{font-size:14px;color:#8b7355;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.tree-dropdown-actions{border-top:1px solid rgba(93,82,75,.08);padding-top:8px;margin-top:8px}.tree-dropdown-create{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#a67c5214;border:1px dashed rgba(166,124,82,.3);border-radius:8px;cursor:pointer;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:500;color:#a67c52;transition:all .2s ease}.tree-dropdown-create:hover{background:#a67c5226;border-color:#a67c5280}.tree-dropdown-create-icon{font-size:20px;font-weight:300}.zoom-control{position:fixed;bottom:20px;left:20px;z-index:1000;animation:zoomControlSlideIn .6s cubic-bezier(.22,1,.36,1)}@keyframes zoomControlSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.zoom-button{position:relative;width:48px;height:48px;border-radius:50%;background:#f7ecd9f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(93,82,75,.08);box-shadow:0 4px 80px #5d524b33,0 1px 6px #5d524b14;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#5d524b;transition:all .25s cubic-bezier(.22,1,.36,1)}.zoom-button:hover{background:#f7ecd9fa;transform:scale(1.08);box-shadow:0 6px 80px #5d524b47,0 2px 8px #5d524b1f}.zoom-button:active{transform:scale(.95)}.zoom-btn-icon{color:#5d524b;filter:drop-shadow(0 1px 2px rgba(0,0,0,.05));transition:color .2s ease,transform .2s ease}.zoom-button:hover .zoom-btn-icon{color:#a67c52;transform:scale(1.05)}.zoom-slider-panel{position:absolute;bottom:calc(100% + 10px);left:50%;width:52px;padding:14px 0 12px;background:#fef9edf5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(166,124,82,.15);border-radius:16px;box-shadow:0 8px 40px #5d524b2e,0 2px 8px #5d524b0f;display:flex;flex-direction:column;align-items:center;gap:8px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px) scale(.94);transition:max-height .35s cubic-bezier(.22,1,.36,1),opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1)}.zoom-slider-panel.visible{max-height:240px;opacity:1;transform:translate(-50%) translateY(0) scale(1);pointer-events:auto}.zoom-panel-icon{color:#5d524b;opacity:.6;flex-shrink:0}.zoom-slider-track{width:6px;height:120px;background:#a67c5226;border-radius:3px;position:relative;cursor:ns-resize;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.zoom-slider-track:before{content:"";position:absolute;inset:0 -12px}.zoom-slider-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#a67c52a6,#a67c5233);border-radius:3px;pointer-events:none}.zoom-slider-thumb{position:absolute;left:50%;transform:translate(-50%);width:14px;height:14px;background:#fef9ed;border:2px solid rgba(166,124,82,.7);border-radius:50%;box-shadow:0 2px 8px #5d524b40;pointer-events:none;transition:transform .15s ease,border-color .15s ease}.zoom-slider-track:hover .zoom-slider-thumb{transform:translate(-50%) scale(1.25);border-color:#a67c52}@media(max-width:768px){.zoom-control{bottom:12px;left:12px}.zoom-button{width:44px;height:44px}.zoom-slider-panel.visible{max-height:240px;opacity:1;transform:translate(-50%) translateY(0) scale(1);pointer-events:auto}.zoom-slider-track{cursor:pointer}}.search-results-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:480px;background:#f7ecd9fa;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:12px;border:1px solid rgba(93,82,75,.08);box-shadow:0 8px 32px #5d524b40,0 2px 8px #5d524b14;overflow:hidden;animation:dropdownSlideDown .25s cubic-bezier(.22,1,.36,1);z-index:10}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-results-list{max-height:440px;overflow-y:auto;padding:8px}.search-results-list::-webkit-scrollbar{width:6px}.search-results-list::-webkit-scrollbar-track{background:transparent}.search-results-list::-webkit-scrollbar-thumb{background:#a67c5233;border-radius:3px}.search-result-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s ease}.search-result-item:hover{background:#a67c521f;transform:translate(2px)}.search-result-thumb{width:40px;height:40px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#a67c52,#8b6843);flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.search-result-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.search-result-initials{font-family:Bradford LL,Iowan Old Style,Palatino Linotype,Times New Roman,serif;font-size:16px;font-weight:450;color:#fef9ed}.search-result-info{flex:1;min-width:0}.search-result-name{font-size:14px;font-weight:450;color:#5d524b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-lastname{font-style:italic;color:#8b7355}.search-result-meta{display:flex;align-items:center;gap:10px;margin-top:3px;min-width:0}.search-result-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#a67c5226;color:#a67c52;font-size:12px;font-weight:450;text-transform:uppercase;letter-spacing:.3px}.search-result-year{font-size:14px;color:#8b7355}.search-result-match-detail{font-size:14px;color:#8b7355;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.search-result-empty{text-align:center;color:#8b7355;font-size:14px;font-style:italic;padding:20px}.search-results-footer{padding:10px 12px;text-align:center;font-size:14px;color:#8b7355;background:#a67c520d;border-top:1px solid rgba(93,82,75,.08)}@media(max-width:768px){.search-results-dropdown{width:100%;max-width:calc(100vw - 24px)}}.expandable-search{position:fixed;top:20px;right:20px;z-index:1000;transition:all .3s cubic-bezier(.22,1,.36,1)}.search-icon-button{width:48px;height:48px;border-radius:50%;background:#f7ecd9f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(93,82,75,.08);box-shadow:0 4px 20px #5d524b2e,0 1px 4px #5d524b14;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.22,1,.36,1);animation:searchFadeIn .4s cubic-bezier(.22,1,.36,1)}@keyframes searchFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.search-icon-button:hover{transform:scale(1.08);box-shadow:0 6px 24px #a67c5240,0 2px 6px #5d524b1f}.search-icon{font-size:20px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.05))}.search-expanded-content{animation:searchExpand .3s cubic-bezier(.22,1,.36,1)}@keyframes searchExpand{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.search-input-wrapper{position:relative;display:flex;align-items:center;gap:8px;width:340px;height:48px;padding:0 12px 0 16px;background:#f7ecd9fa;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:50px;border:1px solid rgba(93,82,75,.08);box-shadow:0 4px 20px #5d524b2e,0 1px 4px #5d524b14}.search-input-icon{font-size:18px;opacity:.6;flex-shrink:0}.search-input{flex:1;border:none;background:transparent;outline:none;font-family:Red Hat Mono,ui-monospace,monospace;font-size:16px;color:#5d524b;font-weight:500}.search-input::-moz-placeholder{color:#8b7355;opacity:.7}.search-input::placeholder{color:#8b7355;opacity:.7}.search-close-button{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:#8b7355;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.search-close-button:hover{background:#5d524b1a;color:#5d524b}@media(max-width:768px){.expandable-search{top:12px;right:12px;left:12px}.search-icon-button{width:44px;height:44px}.search-input-wrapper{width:100%}}.size-options{display:flex;flex-direction:column;gap:8px}.size-options__header{display:flex;align-items:center;justify-content:space-between}.size-options__label{font-size:14px;font-weight:450;color:#8b7355;text-transform:uppercase;letter-spacing:.5px}.size-options__value{font-size:13px;font-weight:600;color:#a67c52;min-width:28px;text-align:right}.size-options__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,#A67C52 0%,#A67C52 var(--slider-progress, 50%),rgba(166,124,82,.2) var(--slider-progress, 50%),rgba(166,124,82,.2) 100%);outline:none;cursor:pointer;border:none}.size-options__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#a67c52;cursor:pointer;box-shadow:0 1px 4px #a67c5266;-webkit-transition:transform .1s ease;transition:transform .1s ease}.size-options__slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.size-options__slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#a67c52;cursor:pointer;border:none;box-shadow:0 1px 4px #a67c5266}.annotation-toolbar{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:1050;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:8px;pointer-events:auto}.annotation-toolbar--dragging{pointer-events:none}.annotation-toolbar__tools{display:flex;flex-direction:column;gap:4px;padding:8px 6px;border-radius:16px;background:#fef9edf2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(166,124,82,.18);box-shadow:0 8px 32px #5d524b26}.annotation-toolbar__btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;background:transparent;cursor:pointer;transition:all .15s ease;color:#5d524b}.annotation-toolbar__btn:hover:not(:disabled){background:#a67c521a}.annotation-toolbar__btn--active{background:linear-gradient(135deg,#8b6a43,#6a4f32);color:#fef9ed;box-shadow:0 2px 8px #a67c524d}.annotation-toolbar__btn--active:hover:not(:disabled){background:linear-gradient(135deg,#96703e,#7a5a3a)}.annotation-toolbar__btn--delete:disabled{opacity:.35;cursor:not-allowed}.annotation-toolbar__btn--delete:not(:disabled):hover{background:#c0392b1a;color:#c0392b}.annotation-toolbar__btn svg{flex-shrink:0;transition:all .2s cubic-bezier(.22,1,.36,1)}.annotation-toolbar__btn--drag-target{opacity:1!important;cursor:default;color:#c0392b;background:#c0392b0d;transition:all .25s cubic-bezier(.22,1,.36,1)}.annotation-toolbar__btn--drag-over{opacity:1!important;background:#c0392b24!important;color:#c0392b!important;transform:scale(1.15);box-shadow:0 0 0 3px #c0392b1f;transition:all .15s cubic-bezier(.22,1,.36,1)}.annotation-toolbar__separator{width:28px;height:1px;margin:4px auto;background:#a67c5233}.annotation-toolbar__panel{padding:12px;border-radius:14px;background:#fef9edf5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(166,124,82,.18);box-shadow:0 8px 32px #5d524b26;min-width:180px;animation:annotation-panel-in .18s cubic-bezier(.22,1,.36,1)}@keyframes annotation-panel-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.annotation-toolbar{display:none}}.text-input-overlay{position:fixed;z-index:1100;transform:translate(-50%,-50%)}.text-input-overlay__input{min-width:120px;max-width:400px;padding:6px 10px;border:1.5px solid rgba(166,124,82,.3);border-radius:8px;outline:none;font-family:inherit;font-size:16px;box-shadow:0 4px 16px #5d524b33;transition:border-color .15s ease}.text-input-overlay__input:focus{border-color:#a67c52;box-shadow:0 4px 16px #5d524b33,0 0 0 3px #a67c521f}.text-input-overlay__input::-moz-placeholder{color:#5d524b66;font-style:italic}.text-input-overlay__input::placeholder{color:#5d524b66;font-style:italic}.app{width:100vw;height:100vh;position:relative;overflow:hidden;background:#fdf8ec}.app:before{content:"";position:absolute;inset:0;background:transparent;pointer-events:none}.app-loading{display:grid;place-items:center}.loading-card{background:#ffffffbf;border:1px solid #e7dcc8;border-radius:14px;padding:18px 22px;color:#5d524b;font-size:14px;letter-spacing:.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.access-gate{position:absolute;inset:0;display:grid;place-items:center;padding:20px;overflow:hidden;background:radial-gradient(circle at 50% 0%,#fff5e3c7,#fdf8ece6)}.access-gate-mock-blur{position:absolute;inset:-40px;pointer-events:none;filter:blur(8px);opacity:.55}.access-gate-mock-card{position:absolute;border-radius:22px;background:linear-gradient(135deg,#fbe7c5b3,#efd8b099);border:1px solid rgba(155,126,89,.35);box-shadow:0 20px 60px #68533a33}.access-gate-mock-card-main{width:min(780px,92vw);height:min(440px,60vh);top:16%;left:12%}.access-gate-mock-card-side{width:min(260px,40vw);height:min(340px,48vh);top:26%;right:8%}.access-gate-mock-dot{position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#f7cd82b3,#f7cd8200);left:8%;bottom:6%}.access-gate-card{width:min(460px,100%);display:grid;gap:10px;padding:24px;border-radius:18px;border:1px solid #e2d5bf;background:#ffffffc7;box-shadow:0 14px 36px #5d524b1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:2}.access-gate-card h1{font-size:28px;line-height:1.15;color:#453d37}.access-gate-card p{color:#6e6258;margin-bottom:4px}.access-gate-tree-info{display:grid;gap:6px;border:1px solid #e7d8bf;border-radius:10px;background:#fffaf1d9;padding:10px 12px}.access-gate-tree-name{color:#4f443d;font-weight:700}.access-gate-tree-meta{color:#6d5f52;font-size:14px}.access-gate-tree-desc{color:#6f655d;font-size:14px}.access-gate-card label{font-size:14px;color:#6e6258;margin-top:4px}.access-gate-card input{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.access-gate-card input:focus{border-color:#b99762;box-shadow:0 0 0 2px #b9976226}.access-gate-card button{border:0;border-radius:10px;padding:11px 14px;font-weight:450;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer;margin-top:6px}.access-gate-card button:disabled{opacity:.65;cursor:not-allowed}.access-gate-card .ghost{background:transparent;color:#6a4f32;border:1px solid #cdb89a}.access-gate-waitlist-link{display:inline-flex;justify-content:center;align-items:center;border:1px solid #cdb89a;border-radius:10px;padding:11px 14px;margin-top:6px;color:#6a4f32;background:#fff8ef;text-decoration:none;font-weight:500}.access-gate-waitlist-link:hover{background:#fff2de;border-color:#b99762}.access-gate-error{background:#ab31311a;border:1px solid rgba(171,49,49,.32);color:#862f2f;border-radius:10px;padding:10px 12px;font-size:14px;margin-top:6px}.account-dashboard{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 0%,#fff2ddbf,#fdf8ecf2)}.account-dashboard-card{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;gap:12px;padding:24px;border-radius:18px;border:1px solid #e2d5bf;background:#ffffffd1;box-shadow:0 16px 38px #5d524b24}.account-dashboard-card h1{font-size:28px;color:#453d37}.account-dashboard-card h2{font-size:20px;color:#564a42}.account-dashboard-card p{color:#6e6258}.account-toggle{display:flex;gap:8px}.account-toggle button{border:1px solid #d6c5aa;border-radius:8px;background:#fffdf8;color:#6a4f32;padding:8px 12px;font-weight:450;cursor:pointer}.account-toggle button.active{color:#fef9ed;border-color:#7a5b39;background:linear-gradient(135deg,#8b6a43,#6a4f32)}.account-form,.create-tree-form{display:grid;gap:8px;background:#ffffffa6;border:1px solid #e3d7c2;border-radius:12px;padding:14px}.account-form label,.create-tree-form label{font-size:14px;color:#6e6258}.account-form input,.create-tree-form input{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.account-form input:focus,.create-tree-form input:focus{border-color:#b99762;box-shadow:0 0 0 2px #b9976226}.account-form button,.create-tree-form button{border:0;border-radius:10px;padding:11px 14px;font-weight:450;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer;margin-top:4px}.account-form button:disabled,.create-tree-form button:disabled{opacity:.65;cursor:not-allowed}.account-error{background:#ab31311a;border:1px solid rgba(171,49,49,.32);color:#862f2f;border-radius:10px;padding:10px 12px;font-size:14px}.account-help{color:#6e6258;font-size:14px}.account-help code{border:1px solid #e3d7c2;background:#fffaf2;border-radius:6px;padding:2px 6px;color:#554940}.tree-list{display:grid;gap:8px}.tree-item{display:grid;justify-items:start;gap:2px;border:1px solid #d8c7ac;background:#fffdf8;color:#453d37;border-radius:10px;padding:10px 12px;cursor:pointer}.tree-item:hover{border-color:#b99762}.tree-item.active{border-color:#8b6a43;box-shadow:0 0 0 2px #8b6a432e}.tree-name{font-weight:700}.tree-meta{font-size:14px;color:#6e6258}.tree-empty{color:#6e6258;background:#ffffffb8;border:1px dashed #d8c7ac;border-radius:10px;padding:12px}.account-actions{display:flex;flex-wrap:wrap;gap:8px}.account-actions .ghost{border:1px solid #cdb89a;border-radius:10px;padding:10px 12px;background:transparent;color:#6a4f32;font-weight:450;cursor:pointer}.wizard-overlay{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#2c241e57}.wizard-card{width:min(460px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;gap:10px;border-radius:18px;border:1px solid #d8c7ac;background:#fffdf8;padding:22px 20px 18px;box-shadow:0 24px 45px #32261957}.wizard-persons{display:grid;gap:8px}.wizard-person{display:grid;gap:7px;border:1px solid #e4d8c4;border-radius:12px;background:#fffcf5e6;padding:11px 12px}.wizard-person-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a8370}.wizard-person-label--self{color:#7a5c2e}.wizard-person-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.wizard-card input{width:100%;border-radius:9px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:9px 11px;font-size:14px;outline:none;box-sizing:border-box}.wizard-card input::-moz-placeholder{color:#b5a48e}.wizard-card input::placeholder{color:#b5a48e}.wizard-card input:focus{border-color:#b99762;box-shadow:0 0 0 2px #b9976226}.wizard-year{grid-column:1 / -1;font-size:13px!important}.wizard-card button{border:0;border-radius:10px;padding:11px 14px;font-size:14px;font-weight:500;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer;margin-top:4px;transition:filter .15s}.wizard-card button:not(:disabled):hover{filter:brightness(1.08)}.wizard-card button:disabled{opacity:.55;cursor:not-allowed}.wizard-card .ghost{margin-top:0;background:transparent;color:#7a6252;border:1px solid #cdb89a;font-weight:450}.wizard-error{background:#ab31311a;border:1px solid rgba(171,49,49,.32);color:#862f2f;border-radius:10px;padding:10px 12px;font-size:14px}.admin-overlay{position:absolute;inset:0;z-index:34;display:grid;place-items:center;padding:20px;background:#2c241e52}.admin-card{width:min(860px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;gap:12px;border-radius:16px;border:1px solid #d8c7ac;background:#fffdf8;padding:20px;box-shadow:0 24px 45px #32261957}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-header h1{font-size:24px;color:#453d37}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap}.admin-tabs button{border:1px solid #cdb89a;border-radius:10px;padding:9px 12px;background:transparent;color:#6a4f32;font-weight:700;cursor:pointer}.admin-tabs button.active{color:#fef9ed;border-color:#7a5b39;background:linear-gradient(135deg,#8b6a43,#6a4f32)}.admin-section{display:grid;gap:10px}.admin-stats-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-stat-card{border:1px solid #d8c7ac;border-radius:10px;background:#fffdf8;padding:12px;display:grid;gap:2px}.admin-stat-card strong{font-size:24px;color:#4e4138}.admin-stat-card span{color:#6e6258;font-size:14px}.admin-share-line{display:grid;gap:4px}.admin-share-line span{color:#6e6258;font-size:14px}.admin-share-line code{border:1px solid #e3d7c2;background:#fffaf2;border-radius:8px;padding:8px 10px;color:#554940;font-size:14px;overflow:auto}.admin-form{display:grid;gap:8px;border:1px solid #e3d7c2;border-radius:12px;padding:14px;background:#ffffffa6}.admin-form h2{font-size:18px;color:#564a42}.admin-form label{font-size:14px;color:#6e6258}.admin-form input,.admin-form select{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.admin-form button,.admin-audit-header button,.admin-section .ghost{border:0;border-radius:10px;padding:10px 12px;font-weight:450;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer}.admin-card .ghost{border:1px solid #cdb89a;border-radius:10px;padding:10px 12px;background:transparent;color:#6a4f32;font-weight:450;cursor:pointer}.admin-meta{color:#6e6258;font-size:14px}.admin-audit-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-audit-header input{border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:9px 11px;outline:none;width:min(280px,100%)}.admin-audit-header h2{font-size:18px;color:#564a42}.admin-audit-list{display:grid;gap:8px}.admin-audit-item{border:1px solid #d8c7ac;border-radius:10px;background:#fffdf8;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-audit-main{display:grid;gap:2px;color:#5a4d44}.admin-audit-main span{color:#6e6258;font-size:14px}.admin-audit-meta{display:grid;gap:2px;text-align:right;color:#6e6258;font-size:14px}.admin-person-list{display:grid;gap:8px}.admin-person-item{border:1px solid #d8c7ac;border-radius:10px;background:#fffdf8;padding:10px 12px;display:grid;gap:3px}.admin-person-item strong{color:#4e4138}.admin-person-item span{color:#6e6258;font-size:14px}.admin-person-actions{display:flex;gap:8px}.admin-empty{color:#6e6258;background:#ffffffb8;border:1px dashed #d8c7ac;border-radius:10px;padding:12px}.admin-error{background:#ab31311a;border:1px solid rgba(171,49,49,.32);color:#862f2f;border-radius:10px;padding:10px 12px;font-size:14px}.demo-welcome{position:fixed;top:20px;left:20px;z-index:800;max-width:260px;padding:14px 16px;background:#f7ecd9ed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;border:1px solid rgba(93,82,75,.1);box-shadow:0 4px 24px #5d524b24,0 1px 4px #5d524b0f;font-family:Red Hat Mono,ui-monospace,monospace;font-size:13px;color:#5d524b;line-height:1.55;pointer-events:none;animation:demoWelcomeIn .6s cubic-bezier(.22,1,.36,1) .3s both}@keyframes demoWelcomeIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.demo-welcome strong{color:#453d37;display:block;margin-bottom:5px;font-size:14px}.empty-tree-add{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;display:flex;align-items:center;gap:12px;border:1.5px solid rgba(166,124,82,.38);background:#fffbf4eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:14px;padding:13px 16px 13px 14px;cursor:pointer;box-shadow:0 4px 20px #46372824,0 1px 4px #46372814;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,border-color .18s;animation:emptyAddIn .45s cubic-bezier(.22,1,.36,1) .2s both}@keyframes emptyAddIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.empty-tree-add:hover{transform:translate(-50%,-51%);box-shadow:0 8px 28px #46372833,0 2px 6px #4637281a;border-color:#a67c52a6}.empty-tree-add:active{transform:translate(-50%,-50%) scale(.97)}.empty-tree-add-icon{width:26px;height:26px;color:#a07840;flex-shrink:0}.empty-tree-add-body{display:grid;gap:2px;text-align:left}.empty-tree-add-title{font-size:14px;font-weight:600;color:#3a2f25;line-height:1.2}.empty-tree-add-hint{font-size:12px;color:#9a8370;line-height:1.2}.empty-tree-add-chevron{width:14px;height:14px;color:#b8996e;flex-shrink:0;margin-left:2px}.admin-ok{background:#3482461a;border:1px solid rgba(52,130,70,.3);color:#2f6e3a;border-radius:10px;padding:10px 12px;font-size:14px}.media-manager-overlay{position:absolute;inset:0;z-index:32;display:grid;place-items:center;padding:20px;background:#2c241e4d}.media-manager-card{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;gap:10px;border-radius:16px;border:1px solid #d8c7ac;background:#fffdf8;padding:20px;box-shadow:0 24px 45px #32261957}.media-manager-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.media-manager-header h1{font-size:24px;color:#453d37}.media-manager-form{display:grid;gap:8px;border:1px solid #e3d7c2;border-radius:12px;padding:12px;background:#ffffffb3}.media-manager-form label{font-size:14px;color:#6e6258}.media-manager-form input,.media-manager-form select{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.media-manager-form button,.media-manager-actions button{border:0;border-radius:10px;padding:10px 12px;font-weight:450;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer}.media-manager-card .ghost{border:1px solid #cdb89a;border-radius:10px;padding:10px 12px;background:transparent;color:#6a4f32;font-weight:450;cursor:pointer}.media-manager-list{display:grid;gap:8px}.media-manager-item{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:10px;border:1px solid #d8c7ac;background:#fffdf8;border-radius:10px;padding:8px}.media-manager-preview{width:74px;height:74px;border-radius:8px;background:#f3ecdf;overflow:hidden;display:grid;place-items:center;color:#6e6258;font-size:14px}.media-manager-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.media-manager-meta{display:grid;gap:2px;color:#5a4d44}.media-manager-meta span{color:#7a6f65;font-size:14px}.media-manager-actions{display:flex;gap:6px}.media-manager-empty{color:#6e6258;background:#ffffffb8;border:1px dashed #d8c7ac;border-radius:10px;padding:12px}.media-manager-error{background:#ab31311a;border:1px solid rgba(171,49,49,.32);color:#862f2f;border-radius:10px;padding:10px 12px;font-size:14px}.contrib-overlay{position:fixed;inset:0;z-index:2200;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .24s ease;background:#2119136b}.contrib-overlay--open{visibility:visible;pointer-events:auto;opacity:1}.contrib-card{position:absolute;top:0;left:0;bottom:0;width:48vw;min-width:480px;max-width:960px;max-height:100vh;overflow:auto;display:flex;flex-direction:column;gap:14px;border-right:1px solid #cbb391;background:linear-gradient(180deg,#fffaf1,#f8ede0);padding:20px 18px 22px;box-shadow:14px 0 44px #1d16105c;transform:translate(-100%);transition:transform .32s cubic-bezier(.22,1,.36,1)}@media(max-width:640px){.contrib-card{width:100%;max-width:100%;min-width:0;padding:18px 14px 20px}}.contrib-overlay--open .contrib-card{transform:translate(0)}.contrib-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #e2cfb3;padding-bottom:12px}.contrib-header-text{display:grid;gap:4px;text-align:left}.contrib-header h1{font-size:28px;line-height:1.05;color:#2e2824;margin:0}.contrib-header p{margin:0;color:#675848;font-size:14px;letter-spacing:.01em}.contrib-form{display:grid;gap:8px;border:1px solid #e3d7c2;border-radius:12px;padding:14px;background:#ffffffa6}.contrib-form h2,.contrib-list-section h2{font-size:18px;color:#564a42}.contrib-form label{font-size:14px;color:#6e6258}.contrib-form input{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.contrib-form input:focus{border-color:#b99762;box-shadow:0 0 0 2px #b9976226}.contrib-form button,.contrib-item-actions button{border:0;border-radius:10px;padding:10px 12px;font-weight:450;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer}.contrib-form button:disabled,.contrib-item-actions button:disabled{opacity:.65;cursor:not-allowed}.contrib-card .ghost{border:1px solid #cdb89a;border-radius:10px;padding:10px 12px;background:transparent;color:#6a4f32;font-weight:450;cursor:pointer}.contrib-list-section{display:grid;gap:10px}.contrib-invite{display:grid;gap:8px;border:1px solid #dbc39f;border-radius:10px;background:#fffcf7e6;padding:10px}.contrib-invite-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.contrib-invite-title{color:#2e2824;font-size:14px;line-height:1.3}.contrib-invite-link{display:flex;align-items:center;gap:8px}.contrib-link-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #dec5a7;background:#fbf3e8;color:#5e4d3f;border-radius:7px;padding:7px 10px;font-size:12px}.contrib-invite-passwords{display:grid;gap:8px;padding-top:6px;border-top:1px solid #ead9c3}.contrib-role-row{display:flex;align-items:center;gap:8px}.contrib-role-badge{display:inline-flex;align-items:center;justify-content:center;min-width:108px;flex-shrink:0;border-radius:999px;border:1px solid #d8bc95;background:#f4e5d0;color:#5f4d3d;padding:4px 10px;font-size:12px;font-weight:450}.contrib-role-badge--contrib{border-color:#c8b48f;background:#ede2d1}.contrib-pass-reveal{flex:1;min-width:0;text-align:left;font-family:monospace;font-size:14px;background:#fff9efd9;border:1px dashed #d6bd9d;border-radius:7px;padding:6px 8px;color:#5f4d3f;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:filter .15s ease,border-color .15s ease}.contrib-pass-reveal--blurred{filter:blur(5px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.contrib-pass-reveal:not(:disabled):hover{border-color:#b99762;border-style:solid}.contrib-pass-reveal:disabled{cursor:default;color:#9e8e7e}.contrib-pass-edit-inline{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.contrib-pass-edit-input{flex:1;min-width:0;border-radius:7px;border:1px solid #b99762;background:#fffdf8;color:#453d37;padding:5px 8px;font-size:14px;outline:none}.contrib-pass-edit-input:focus{border-color:#8b6a43;box-shadow:0 0 0 2px #8b6a431f}.contrib-pill-btn{flex-shrink:0;border-radius:999px;padding:5px 12px;font-size:14px;font-weight:450;cursor:pointer;line-height:1;white-space:nowrap;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.contrib-pill-btn--ghost{border:1px solid rgba(196,163,120,.75);background:#fff8eed9;color:#6a4f32}.contrib-pill-btn--ghost:not(:disabled):hover{background:#e5c39866;border-color:#b99762}.contrib-pill-btn--edit{border:1px solid rgba(185,151,98,.55);background:#b997621f;color:#7a5c2e}.contrib-pill-btn--edit:not(:disabled):hover{background:#b9976242;border-color:#8b6a43}.contrib-pill-btn--save{border:none;background:linear-gradient(135deg,#8b6a43,#6a4f32);color:#fef9ed}.contrib-pill-btn--save:not(:disabled):hover{background:linear-gradient(135deg,#9a7550,#7a5c3a)}.contrib-pill-btn:disabled{opacity:.45;cursor:not-allowed}.contrib-ok{border:1px solid rgba(50,133,73,.34);background:#3285491a;color:#2e6f40;border-radius:8px;padding:7px 9px;font-size:14px}.contrib-copy-feedback{color:#6a4f32;font-size:14px;font-weight:450}.contrib-list-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.contrib-list-heading{display:grid;gap:3px}.contrib-list-heading h2{margin:0;font-size:18px;color:#3a2f27}.contrib-list-heading p{margin:0;color:#726355;font-size:14px}.contrib-list-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.contrib-count{min-width:28px;height:28px;border-radius:999px;display:inline-grid;place-items:center;padding:0 7px;background:#6a4f32;color:#fef9ed;font-size:14px;font-weight:700}.contrib-list{display:grid;gap:10px}.contrib-item{border:1px solid #d4b994;border-radius:14px;background:#fffcf7f2;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.contrib-item-stack{display:grid;align-items:stretch;gap:10px}.contrib-item-main{display:grid;gap:6px;color:#43372e}.contrib-item-main--clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:8px;padding:4px;margin:-4px;transition:background .12s ease}.contrib-item-main--clickable:hover{background:#a67c520f}.contrib-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.contrib-session-top-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.contrib-session-title{font-size:16px;line-height:1.2;color:#2f2722}.contrib-session-date{font-size:14px;color:#6a5a4a;background:#f4e7d5;border:1px solid #e4cfb2;border-radius:999px;padding:3px 8px;white-space:nowrap}.contrib-collapse-icon{color:#a08060;transition:transform .22s cubic-bezier(.22,1,.36,1);flex-shrink:0}.contrib-collapse-icon--up{transform:rotate(180deg)}.contrib-session-comment{margin:0;font-size:13px;font-style:italic;color:#7a6a58;padding:2px 0}.contrib-item-meta{display:flex;flex-wrap:wrap;gap:6px}.contrib-meta-pill{font-size:14px;color:#655647;background:#f0e1cd;border:1px solid #e0c7a5;border-radius:999px;padding:3px 8px}.contrib-selected-person{color:#5a4d44;font-size:14px;border:1px dashed #d8c7ac;border-radius:8px;padding:8px 10px;background:#ffffffb3}.contrib-change-list{display:grid;gap:8px}.contrib-change-card{display:grid;gap:0;border:1.5px solid #d9c5a8;border-radius:10px;overflow:hidden;background:#fffcf7;transition:border-color .15s,background .15s,box-shadow .15s}.contrib-change-card:hover{box-shadow:0 2px 10px #644b321f;border-color:#c4a87e}.contrib-change-card--approved{border-color:#5a9e6a;background:#f4fbf5}.contrib-change-card--approved .contrib-change-card-head{background:#2e7d480f}.contrib-change-card--rejected{border-color:#c0726a;background:#fdf4f3}.contrib-change-card--rejected .contrib-change-card-head{background:#922e270d}.contrib-change-card--rejected .contrib-change-fields,.contrib-change-card--rejected .contrib-annotation-preview{opacity:.55}.contrib-change-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid rgba(0,0,0,.06)}.contrib-action-badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:4px;flex-shrink:0}.contrib-action-badge--create{background:#d6f0dc;color:#276138}.contrib-action-badge--update{background:#dce8f8;color:#1e4f8a}.contrib-action-badge--delete{background:#fde5e3;color:#8c2e27}.contrib-action-badge--reorder{background:#e8ddd0;color:#5a3e2b}.contrib-change-entity-name{font-size:14px;font-weight:600;color:#2e2118;flex:1}.contrib-conflict-badge{display:inline-flex;align-items:center;border:1px solid #d4a074;background:#f9e7d4;color:#8a5424;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.contrib-change-fields{display:grid;gap:0;padding:4px 0}.contrib-field-row{display:flex;align-items:baseline;gap:6px;padding:5px 12px;font-size:13px;border-bottom:1px solid rgba(0,0,0,.04)}.contrib-field-row:last-child{border-bottom:none}.contrib-field-label{color:#7a6a58;white-space:nowrap;flex-shrink:0;min-width:110px;font-size:12px}.contrib-field-diff{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.contrib-field-old{color:#8c3e39;text-decoration:line-through;font-size:13px}.contrib-field-arrow{color:#aaa;font-size:12px}.contrib-field-new{color:#2a5e3a;font-weight:500;font-size:13px}.contrib-card-decisions{display:flex;gap:5px;margin-left:auto;flex-shrink:0}.contrib-decision-icon{width:28px;height:28px;border-radius:50%;border:1.5px solid;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .1s ease;background:transparent;flex-shrink:0}.contrib-decision-icon:active:not(:disabled){transform:scale(.9)}.contrib-decision-icon--approve{border-color:#2e7d4859;color:#2e7d48}.contrib-decision-icon--approve:hover:not(:disabled){background:#2e7d481a;border-color:#2e7d4899}.contrib-decision-icon--approve.active{background:#2e7d48;color:#fff;border-color:#2e7d48}.contrib-decision-icon--reject{border-color:#922e2759;color:#922e27}.contrib-decision-icon--reject:hover:not(:disabled){background:#922e271a;border-color:#922e2799}.contrib-decision-icon--reject.active{background:#922e27;color:#fff;border-color:#922e27}.contrib-decision-icon:disabled{opacity:.4;cursor:not-allowed}.contrib-annotation-preview{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid rgba(0,0,0,.05);background:#fffcf799}.contrib-ann-emoji{font-size:30px;line-height:1;flex-shrink:0}.contrib-ann-text{font-style:italic;color:#5a4d44;font-size:13px;line-height:1.4}.contrib-ann-drawing{display:inline-block;padding-left:10px;border-left:4px solid #5D524B;color:#5a4d44;font-size:13px;font-style:italic}.contrib-ann-photo{max-width:120px;max-height:80px;border-radius:6px;-o-object-fit:cover;object-fit:cover;border:1px solid #dbc9ab}.contrib-meta-sep{color:#b0a090}.contrib-decision-summary{font-size:13px;font-weight:600;padding:1px 6px;border-radius:4px}.contrib-decision-summary--ok{background:#d6f0dc;color:#2a5e38}.contrib-decision-summary--ko{background:#fde5e3;color:#8c2e27}.contrib-decision-summary--pending{color:#8a7868;font-weight:400}.contrib-all-decided-badge{font-size:12px;font-weight:600;letter-spacing:.02em;color:#2a6b3e;background:#d6f0dc;border:1px solid #a8d9b4;border-radius:999px;padding:2px 8px}.contrib-session-footer{padding:10px 12px;display:grid;gap:8px;border-top:1px solid #e4ceb0;background:#fffaf2b3}.contrib-apply-btn{border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#3a6e4a,#2b5439);color:#fff;text-align:left;line-height:1.3}.contrib-apply-btn--approve{background:linear-gradient(135deg,#3a7a50,#2a5c3c)}.contrib-apply-btn:disabled{opacity:.55;cursor:not-allowed}.contrib-apply-btn:not(:disabled):hover{filter:brightness(1.08)}.contrib-session-quick{display:flex;gap:8px}.contrib-session-quick--full{grid-column:1 / -1}.contrib-quick-btn{border:1px solid #cdb89a;border-radius:8px;padding:7px 12px;font-size:13px;background:#ffffffb3;color:#5f4a35;cursor:pointer}.contrib-quick-btn:not(:disabled):hover{background:#e5c3984d;border-color:#b99762}.contrib-quick-btn:disabled{opacity:.45;cursor:not-allowed}.contrib-change-group+.contrib-change-group{margin-top:4px}.contrib-group-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#9a8878;padding:6px 10px 2px}.contrib-confirm-approve{display:flex;align-items:center;gap:8px;font-size:13px;color:#5f4a35;flex-wrap:wrap}.contrib-confirm-yes{border:none;border-radius:8px;padding:5px 12px;font-size:13px;background:linear-gradient(135deg,#3a7a50,#2a5c3c);color:#fff;cursor:pointer;font-weight:600;transition:filter .15s}.contrib-confirm-yes:not(:disabled):hover{filter:brightness(1.1)}.contrib-confirm-yes:disabled{opacity:.5;cursor:not-allowed}.contrib-confirm-no{border:1px solid #cdb89a;border-radius:8px;padding:5px 10px;font-size:13px;background:transparent;color:#5f4a35;cursor:pointer}.contrib-confirm-no:hover{background:#e5c3984d}.contrib-success-toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%);z-index:3000;background:linear-gradient(135deg,#3a7a50,#2a5c3c);color:#fff;font-family:Red Hat Mono,ui-monospace,monospace;font-size:14px;font-weight:600;padding:10px 24px;border-radius:24px;box-shadow:0 4px 20px #2a5c3c59;pointer-events:none;animation:toastIn .3s cubic-bezier(.22,1,.36,1)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.contrib-success-toast{bottom:80px;font-size:13px;padding:9px 20px}}.contrib-empty,.contrib-readonly{color:#6e6258;background:#ffffffb8;border:1px dashed #d8c7ac;border-radius:10px;padding:12px}.contrib-error{background:#ab31311a;border:1px solid rgba(171,49,49,.32);color:#862f2f;border-radius:10px;padding:10px 12px;font-size:14px}@media(max-width:700px){.contrib-card{width:90vw;max-width:none}.contrib-list-header{align-items:flex-start;flex-direction:column}.contrib-list-header-actions{width:100%;justify-content:space-between}.contrib-item-top{flex-direction:column;gap:5px}.contrib-role-row{flex-wrap:wrap}.contrib-pass-reveal{min-width:calc(100% - 70px)}.contrib-pass-edit-inline{flex-wrap:wrap}.media-manager-item{grid-template-columns:1fr}.media-manager-actions{width:100%}.media-manager-actions button{flex:1}.contrib-field-label{min-width:80px}.contrib-session-quick{flex-direction:column}.contrib-quick-btn{width:100%}.admin-audit-item{flex-direction:column;align-items:flex-start}.admin-audit-meta{text-align:left}.admin-audit-header{flex-direction:column;align-items:flex-start}}.account-dashboard-card.auth-only{width:min(480px,100%);text-align:center}.account-subtitle{margin-top:-2px}.account-inline-link{border:none;background:transparent;color:#6a4f32;cursor:pointer;font-size:14px}.account-inline-link:hover{text-decoration:underline}.account-divider{color:#8f806f;text-align:center;font-size:13px}.account-secondary-btn{border:1px solid #cdb89a;border-radius:10px;padding:11px 14px;background:#fff8ef;color:#6a4f32;font-weight:500;cursor:pointer}.account-secondary-btn:hover:not(:disabled){background:#fff2de;border-color:#b99762}.account-secondary-btn:disabled{opacity:.65;cursor:not-allowed}.account-shared-link{width:100%}.account-secondary-actions{display:grid;gap:8px}.account-waitlist{margin-top:4px;display:grid;gap:10px;text-align:left;border:1px solid #e3d7c2;border-radius:12px;padding:14px;background:#ffffffa6}.account-waitlist h2{font-size:20px;color:#564a42;margin:0}.account-waitlist p{margin:0}.account-waitlist-form{display:grid;gap:8px}.account-waitlist-form input{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.account-waitlist-form input:focus{border-color:#b99762;box-shadow:0 0 0 2px #b9976226}.account-waitlist-form button{border:0;border-radius:10px;padding:11px 14px;font-weight:450;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer}.account-waitlist-form button:disabled{opacity:.65;cursor:not-allowed}.account-waitlist-footnote{color:#8f806f;font-size:13px}.tree-created-prompt{position:fixed;top:20px;left:20px;z-index:1200;max-width:340px;padding:12px 14px;display:grid;gap:8px;border-radius:14px;border:1px solid rgba(93,82,75,.14);background:#f7ecd9f2;box-shadow:0 6px 24px #4637282e;color:#5d524b;font-size:13px;line-height:1.45}.tree-created-prompt strong{color:#433931;font-size:14px}.tree-created-prompt button{justify-self:start;border:1px solid #cdb89a;border-radius:8px;background:#fff8ef;color:#6a4f32;padding:6px 10px;cursor:pointer}.settings-card{width:min(900px,100%)}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px}.settings-tabs button{border:1px solid #cdb89a;border-radius:999px;padding:8px 12px;background:transparent;color:#6a4f32;cursor:pointer}.settings-tabs button.active{color:#fef9ed;border-color:#7a5b39;background:linear-gradient(135deg,#8b6a43,#6a4f32)}.settings-share-card{display:grid;gap:8px;border:1px solid #e3d7c2;border-radius:12px;padding:12px;background:#ffffffa6}.settings-share-card h3{color:#4f443d;font-size:16px}.settings-share-link-row{display:flex;gap:8px;align-items:center}.settings-share-link-row input{flex:1;min-width:0}.settings-password-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.settings-password-row code{border:1px dashed #d8c7ac;border-radius:8px;background:#fffdf8;padding:6px 10px;color:#5a4d44}.settings-hint{color:#6e6258;font-size:14px;border-left:3px solid #d8c7ac;padding-left:10px}.settings-data-row{display:flex;justify-content:space-between;gap:12px;border:1px solid #e8dcc8;border-radius:10px;padding:12px;align-items:center}.settings-data-row p{color:#726458;font-size:14px;margin-top:4px}.settings-data-row--muted{opacity:.72}.settings-advanced-toggle{justify-self:start}.settings-danger-box{display:grid;gap:8px;border:1px solid rgba(171,49,49,.34);border-radius:12px;background:#ab31310f;padding:12px}.danger-action{border:1px solid rgba(171,49,49,.45);border-radius:10px;padding:10px 12px;background:#ab31311a;color:#862f2f;cursor:pointer;font-weight:600}.danger-action:disabled{opacity:.6;cursor:not-allowed}.settings-delete-modal-overlay{position:fixed;inset:0;z-index:2300;display:grid;place-items:center;padding:20px;background:#2119138c}.settings-delete-modal{width:min(460px,100%);display:grid;gap:10px;border-radius:16px;border:1px solid #d8c7ac;background:#fffdf8;padding:18px;box-shadow:0 24px 45px #32261957}.settings-delete-modal h3{color:#433931;font-size:22px}.settings-delete-modal p{color:#6e6258}.settings-delete-modal input{border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px}.settings-delete-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:700px){.settings-share-link-row,.settings-data-row{flex-direction:column;align-items:stretch}.settings-delete-actions{flex-direction:column}}.account-overlay{position:fixed;inset:0;z-index:2300;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .24s ease;background:#2119136b}.account-overlay--open{visibility:visible;pointer-events:auto;opacity:1}.account-card{position:absolute;top:0;right:0;bottom:0;width:min(520px,100vw);max-height:100vh;overflow:auto;display:grid;gap:12px;padding:18px;background:linear-gradient(180deg,#fffaf1,#f8ede0);border-left:1px solid #cbb391;box-shadow:-14px 0 44px #1d16105c;transform:translate(100%);transition:transform .32s cubic-bezier(.22,1,.36,1);z-index:2}.account-overlay--open .account-card{transform:translate(0)}.account-backdrop{position:absolute;inset:0;background:transparent;border:none;cursor:default;z-index:1}.account-card>*{position:relative;z-index:2}.account-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #e2cfb3;padding-bottom:10px}.account-header h1{color:#2e2824;font-size:30px}.account-header p{color:#675848;font-size:14px}.account-linked,.account-pick{display:grid;gap:10px;border:1px solid #e3d7c2;border-radius:12px;padding:14px;background:#ffffffa6}.account-linked h2,.account-pick h2{color:#564a42;font-size:18px}.account-linked-person{display:flex;align-items:center;gap:10px}.account-linked-avatar,.account-person-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#a67c52,#8b6843);color:#fef9ed;display:grid;place-items:center;font-weight:700}.account-linked-avatar img,.account-person-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.account-linked-meta{display:grid;gap:2px}.account-linked-meta strong{color:#453d37}.account-linked-meta span{color:#6e6258;font-size:14px}.account-pick input{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px}.account-person-list{display:grid;gap:8px;max-height:min(52vh,420px);overflow:auto}.account-person-item{display:flex;align-items:center;gap:10px;border:1px solid #d8c7ac;border-radius:10px;background:#fffdf8;color:#453d37;padding:8px 10px;cursor:pointer;text-align:left}.account-person-item.active{border-color:#8b6a43;box-shadow:0 0 0 2px #8b6a431f}.account-person-name{flex:1}.account-person-tag{font-size:12px;color:#2f6e3a;border:1px solid rgba(52,130,70,.3);background:#3482461a;border-radius:999px;padding:3px 8px}.tree-settings-overlay{z-index:2250}.tree-settings-overlay .tree-settings-card{inset:0 auto 0 0;width:50vw;min-width:500px;max-width:980px;border-right:1px solid #cbb391;border-left:0;box-shadow:14px 0 44px #1d16105c;transform:translate(-100%)}.tree-settings-overlay--open .tree-settings-card,.contrib-overlay--open .tree-settings-card{transform:translate(0)}.tree-settings-content{display:grid;gap:14px}.tree-settings-tabs{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:4;padding:8px 0 10px;background:linear-gradient(180deg,#fffaf1f5,#fffaf1d6 75%,#fffaf100);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tree-settings-tab{border:1px solid #cdb89a;border-radius:999px;padding:8px 13px;background:transparent;color:#5f4a32;font-size:14px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:all .16s ease}.tree-settings-tab:hover{background:#fff8ede6;border-color:#b99762;color:#4f3d2a}.tree-settings-tab.active{color:#fef9ed;border-color:#7a5b39;background:linear-gradient(135deg,#8b6a43,#6a4f32);box-shadow:0 8px 18px #6a4f323d}.tree-settings-tab--danger{border-color:#ab31315c;color:#7f3e3e}.tree-settings-tab--danger:hover{border-color:#ab31318f;background:#ab313114;color:#742f2f}.tree-settings-tab--danger.active{border-color:#962828d9;background:linear-gradient(135deg,#a94949,#873838);color:#fff5f5;box-shadow:0 8px 18px #81313147}.tree-settings-panel{display:grid;gap:11px;border:1px solid #e3d7c2;border-radius:14px;padding:15px;background:#ffffffb3;box-shadow:0 6px 18px #55422c14}.tree-settings-panel h2{margin:0;font-size:18px;color:#564a42}.tree-settings-help{margin:0;color:#6e6258;font-size:14px;line-height:1.45}.tree-settings-panel label{font-size:12px;color:#7a6956;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.tree-settings-panel input{width:100%;border-radius:10px;border:1px solid #d9cdb8;background:#fffdf8;color:#453d37;padding:10px 12px;outline:none}.tree-settings-panel input:focus{border-color:#b99762;box-shadow:0 0 0 2px #b9976226}.tree-settings-actions{display:flex;align-items:center;justify-content:flex-start}.tree-settings-primary{border:0;border-radius:11px;padding:10px 12px;font-weight:600;color:#fef9ed;background:linear-gradient(135deg,#8b6a43,#6a4f32);cursor:pointer;width:auto;justify-self:start;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;box-shadow:0 6px 14px #59412a38}.tree-settings-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 10px 16px #59412a42}.tree-settings-primary:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.tree-settings-secondary{border:1px solid #cdb89a;border-radius:11px;padding:9px 12px;background:#fffaf2f2;color:#5d4933;font-weight:500;cursor:pointer;transition:all .15s ease}.tree-settings-secondary:hover:not(:disabled){border-color:#b99762;background:#fff2de;color:#4f3d2a}.tree-settings-secondary:disabled{opacity:.62;cursor:not-allowed}.tree-settings-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:1px solid #e8dcc8;border-radius:12px;padding:12px;background:#ffffffd1}.tree-settings-row-text{display:grid;gap:3px}.tree-settings-row-text strong{color:#3e352f;font-size:15px}.tree-settings-row-text p{margin:0;color:#726458;font-size:14px;line-height:1.4}.tree-settings-row-actions{display:grid;justify-items:end;align-content:start;gap:8px;min-width:220px}.tree-settings-row-actions--inline{min-width:0}.tree-settings-file-input{display:none}.tree-settings-file-name{max-width:280px;font-size:12px;color:#645544;background:#fbf3e8;border:1px solid #e2cfb5;border-radius:8px;padding:6px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-settings-row--muted{opacity:.72}.tree-settings-link-btn{justify-self:start;border:1px solid rgba(171,49,49,.42);border-radius:11px;padding:9px 12px;background:#ab313114;color:#7a3131;font-weight:550;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.tree-settings-link-btn:hover{background:#ab313124;border-color:#ab3131a3;color:#682323}.tree-settings-panel--danger{border-color:#ab313159;background:#ab313108}.tree-settings-panel--danger .tree-settings-help{color:#7a4040}.tree-settings-danger-box{display:grid;gap:10px;border:1px solid rgba(171,49,49,.34);border-radius:12px;background:#ab31310f;padding:13px}.tree-settings-danger-box .danger-action{justify-self:start}.tree-settings-danger-box p{margin:0;color:#7a3e3e;font-size:14px;line-height:1.45}@media(max-width:700px){.tree-settings-overlay .tree-settings-card{width:100%;max-width:100%;min-width:0;padding:18px 14px 20px}.tree-settings-tabs{position:static;padding-top:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.tree-settings-row{flex-direction:column;align-items:stretch}.tree-settings-row-actions{justify-items:stretch;min-width:0}.tree-settings-file-name{max-width:100%}.tree-settings-actions,.tree-settings-primary{width:100%}}
