@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap";@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translate(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root{color:#e9e3d3;font-synthesis:none;--ink:#e9e3d3;--muted:#9db0a9;--green:#123f3d;--copper:#d39a5d;--gold:#edc879;--panel:#082224ed;background:#061619;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 9% 0,#c7924321,#0000 27%),radial-gradient(circle at 50% -10%,#164b48 0,#071b1e 38%,#041113 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}main{min-width:0;max-width:100vw;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.22;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:4px 4px;position:fixed;inset:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.site-header{background:linear-gradient(100deg,#edc8790e,#0000 42%);border-bottom:1px solid #edc8796b;align-items:center;gap:34px;padding:28px clamp(24px,5vw,72px) 25px;display:flex}.site-header>div:last-child{min-width:0}.brand-mark{object-fit:contain;filter:drop-shadow(0 10px 24px #0000007a)drop-shadow(0 0 12px #edc8791f);flex:none;width:176px;height:176px;display:block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}h1,h2{margin:0;font-family:Libre Caslon Display,serif;font-weight:400}h1{letter-spacing:-.03em;font-size:clamp(38px,5vw,64px)}h2{font-size:30px}.eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin:0 0 4px;font-size:11px}.intro{max-width:850px;color:var(--muted);margin:7px 0 0;line-height:1.55}.tree-frame{min-width:0;margin:28px clamp(14px,3vw,44px) 60px;position:relative}.tree-shell{cursor:grab;scrollbar-color:#edc87994 #020f118a;background:#020f118a;border:1px solid #edc87966;width:100%;max-width:100%;margin:0;overflow-x:auto;box-shadow:0 28px 80px #0000004d,inset 0 1px #edc87914}.tree-shell.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.tree-toolbar{z-index:5;width:100%;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;background:#061719;border-bottom:1px solid #e0b86f2e;justify-content:space-between;align-items:center;padding:11px 16px;font-size:12px;display:flex;position:sticky;left:0}.tree-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.tree-actions a,.tree-actions button{color:var(--gold);cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;background:#e0b86f0a;border:1px solid #e0b86f57;padding:7px 10px;text-decoration:none;transition:color .18s,border-color .18s,background .18s}.tree-actions a:hover,.tree-actions button:hover{color:#071a1d;border-color:var(--gold);background:var(--gold)}.tree-actions button:disabled{color:#58706a;cursor:not-allowed;background:0 0;border-color:#52696466}.drag-hint{color:#617c76;letter-spacing:.09em;font-size:9px}.tree-nav{z-index:7;width:38px;height:54px;color:var(--gold);cursor:pointer;background:#061719f0;border:1px solid #e0b86f6b;place-items:center;font:30px/1 Libre Caslon Display,serif;display:grid;position:absolute;top:48%;box-shadow:0 8px 24px #00000052}.tree-nav-left{left:-11px}.tree-nav-right{right:-11px}.tree-nav:disabled{opacity:0;pointer-events:none}.tree-canvas{width:max-content;min-width:100%;min-height:580px;padding:48px 34px 80px;overflow:visible}.root-couple{justify-content:center;align-items:stretch;gap:36px;min-width:max-content;display:flex;position:relative}.root-couple:before{content:"";z-index:0;background:var(--gold);width:36px;height:2px;position:absolute;top:88px;left:calc(50% - 18px);box-shadow:0 0 8px #e0b86f47}.root-couple:after{content:"";z-index:0;background:var(--gold);width:2px;height:calc(100% - 88px);position:absolute;top:88px;left:50%}.generation-block{min-width:max-content;padding-top:52px;position:relative}.stem{z-index:0;background:var(--gold);width:2px;height:53px;position:absolute;top:0;left:50%}.generation{justify-content:center;align-items:flex-start;gap:12px;padding-top:27px;display:flex;position:relative}.generation:after{content:"";z-index:1;border:2px solid var(--gold);background:#082123;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:calc(50% - 4px)}.branch{min-width:140px;position:relative}.branch:before{content:"";z-index:0;background:var(--gold);width:2px;height:28px;position:absolute;top:-27px;left:50%}.branch:after{content:"";z-index:2;border:2px solid var(--gold);background:#082123;border-radius:50%;width:8px;height:8px;position:absolute;top:-31px;left:calc(50% - 4px)}.branch-rail{z-index:0;background:var(--gold);height:2px;position:absolute;top:-27px;left:-6px;right:-6px;box-shadow:0 0 7px #e0b86f2e}.branch:first-child>.branch-rail{left:50%}.branch:last-child>.branch-rail{right:50%}.branch:only-child>.branch-rail{left:50%;right:50%}.branch>.generation-block{padding-top:47px}.person-wrap{z-index:1;justify-content:center;align-items:stretch;gap:28px;display:flex;position:relative}.person-card{z-index:1;background:linear-gradient(145deg,#144440fa,#071f21fc);border:1px solid #edc87994;width:140px;transition:transform .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:4px 6px #0003,inset 0 1px #edc87917}.descendant-total{z-index:3;color:#d8c89e;letter-spacing:.04em;background:#031315d1;border:1px solid #e0b86f40;border-radius:20px;padding:3px 6px;font-size:8px;position:absolute;top:7px;right:7px}.person-card:hover{border-color:var(--gold);transform:translateY(-3px)}.person-main{width:100%;min-height:184px;color:var(--ink);text-align:center;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:9px;padding:12px 9px 10px;display:flex}.avatar{object-fit:cover;border:1px solid #e0b86f9e;flex:none;width:66px;height:78px;box-shadow:0 0 0 4px #05181ab8}.avatar.placeholder{color:var(--gold);background:radial-gradient(circle at 50% 30%,#174846,#091f21);place-items:center;font:22px Libre Caslon Display,serif;display:grid}.person-copy{flex-direction:column;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.person-copy strong{place-items:center;min-height:34px;font:15px/1.08 Libre Caslon Display,serif;display:grid}.person-copy span{color:#bdc9c3;font-size:10px}.person-copy small{color:#87a098;letter-spacing:.08em;text-transform:uppercase;font-size:9px}.life-date{justify-content:center;align-items:center;gap:5px;display:flex}.life-date svg{fill:none;width:12px;height:12px;stroke:var(--gold);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.life-date.memorial svg{stroke:#c9b8a9}.branch-button{width:100%;min-height:31px;color:var(--gold);letter-spacing:.05em;cursor:pointer;background:#00000024;border:0;border-top:1px solid #e0b86f30;justify-content:center;align-items:center;gap:7px;padding:6px;font-size:10px;display:flex}.branch-button span{font-size:17px;line-height:10px}.panel-backdrop{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000809a6;justify-content:flex-end;display:flex;position:fixed;inset:0}.person-panel{background:#0a292a;border-left:1px solid #e0b86f59;width:min(430px,92vw);height:100%;padding:52px 36px;position:relative;overflow:auto;box-shadow:-25px 0 70px #0006}.close-button{color:var(--gold);cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:16px;right:18px}.large-avatar{width:120px;height:145px;color:var(--gold);border:1px solid var(--copper);background:#071c1e;place-items:center;margin-bottom:28px;font:38px Libre Caslon Display,serif;display:grid}.large-avatar img{object-fit:cover;width:100%;height:100%}.person-panel h2{font-size:42px}.dates{color:var(--gold)}.biography-section{border-top:1px solid #e0b86f38;margin-top:34px;padding-top:25px}.section-label{color:var(--gold);margin:0 0 13px;font:21px Libre Caslon Display,serif}.biography-text{color:#d3d8d2;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.75}.biography-text.is-empty{color:#7f958e;font-style:italic}.gallery-section{margin-top:36px}.gallery-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;display:flex}.gallery-heading .section-label{margin:0}.gallery-heading button{color:var(--gold);cursor:pointer;background:0 0;border:1px solid #e0b86f59;padding:6px 9px;font-size:9px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gallery-grid button{cursor:pointer;background:0 0;border:1px solid #e0b86f4d;padding:0;overflow:hidden}.gallery-grid img{aspect-ratio:1;object-fit:cover;width:100%;transition:transform .25s;display:block}.gallery-grid button:hover img{transform:scale(1.035)}.viewer-backdrop{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000708f0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.photo-viewer{background:#041315;border:1px solid #e0b86f4d;grid-template-rows:minmax(0,1fr) auto auto;width:min(1180px,96vw);max-height:94vh;padding:18px;display:grid;position:relative;box-shadow:0 28px 100px #000000c2}.viewer-close{z-index:3;width:38px;height:38px;color:var(--gold);cursor:pointer;background:#031214db;border:1px solid #e0b86f4d;font-size:28px;position:absolute;top:8px;right:11px}.manual-viewer-main{grid-template-columns:minmax(0,1fr) 220px;gap:18px;min-height:0;display:grid}.viewer-image-wrap,.tagging-stage{-webkit-user-select:none;user-select:none;width:fit-content;max-width:100%;min-height:0;margin:auto;position:relative}.viewer-image-wrap>img{object-fit:contain;max-width:100%;max-height:calc(94vh - 158px);display:block}.face-tag{z-index:2;background:#e0b86f12;border:1px solid #efca85e6;position:absolute}.face-tag>span{color:#071719;background:var(--gold);width:max-content;max-width:210px;padding:4px 7px;font-size:10px;display:none;position:absolute;bottom:-25px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.face-hotspot{z-index:2;cursor:help;background:0 0;border:0;outline:0;padding:0;position:absolute}.face-hotspot:after{content:"";opacity:0;background:radial-gradient(#e0b86f3d,#0000 68%);border-radius:50%;transition:opacity .18s;position:absolute;inset:-6px}.face-hotspot>span{z-index:2;color:#071719;background:var(--gold);width:max-content;max-width:210px;padding:5px 8px;font-size:10px;display:none;position:absolute;bottom:-24px;left:50%;transform:translate(-50%);box-shadow:0 5px 16px #0000007a}.face-hotspot.is-active:after,.face-hotspot:hover:after,.face-hotspot:focus:after{opacity:1}.face-hotspot.is-active>span,.face-hotspot:hover>span,.face-hotspot:focus>span{display:block}.people-index{border-left:1px solid #e0b86f2e;min-width:0;padding:54px 4px 12px 16px;overflow:auto}.people-index p{color:#718983;letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;font-size:9px}.people-index div{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.people-index button{color:#c7d0cb;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;max-width:100%;padding:7px 9px;font-size:11px;transition:color .18s,border-color .18s,background .18s}.people-index button:hover,.people-index button:focus,.people-index button.is-active{color:var(--gold);background:#e0b86f12;border-color:#e0b86f52;outline:0}.viewer-caption{color:var(--muted);justify-content:space-between;gap:20px;padding:12px 2px 7px;font-size:12px;display:flex}.viewer-caption div{gap:3px;display:grid}.viewer-caption strong{color:var(--ink);font:18px Libre Caslon Display,serif}.viewer-caption small{color:var(--muted)}.viewer-controls{justify-content:center;align-items:center;gap:10px;display:flex}.viewer-controls button{min-width:42px;color:var(--gold);cursor:pointer;background:0 0;border:1px solid #e0b86f59;padding:7px 14px}.viewer-controls button:disabled{opacity:.35;cursor:default}.viewer-controls span{color:#667d77;letter-spacing:.08em;text-transform:uppercase;font-size:9px}.slideshow-backdrop{z-index:40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:radial-gradient(circle at 50% 45%,#11303073,#000506fa 72%);place-items:center;padding:38px 54px 52px;display:grid;position:fixed;inset:0;overflow:hidden}.slideshow-close{z-index:3;color:#e9e3d3c7;cursor:pointer;background:#04131594;border:1px solid #e0b86f3d;width:42px;height:42px;font-size:28px;position:absolute;top:24px;right:28px}.slideshow-stage{place-items:center;width:100%;height:100%;min-height:0;animation:.8s both slideshow-reveal;display:grid;position:relative}.slideshow-stage img{object-fit:contain;filter:drop-shadow(0 22px 45px #0000008c);max-width:100%;max-height:calc(100vh - 125px);display:block}.slideshow-motion{will-change:transform;animation-duration:var(--slideshow-duration,5.5s);animation-timing-function:ease-in-out;animation-fill-mode:both}.slideshow-motion.motion-zoom-in{animation-name:photo-zoom-in}.slideshow-motion.motion-zoom-out{animation-name:photo-zoom-out}.slideshow-motion.motion-drift-left{animation-name:photo-drift-left}.slideshow-motion.motion-drift-right{animation-name:photo-drift-right}.slideshow-motion.motion-drift-up{animation-name:photo-drift-up}.slideshow-motion.motion-drift-down{animation-name:photo-drift-down}.slideshow-caption{color:#d8ddd8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0008099e;align-items:baseline;gap:10px;max-width:min(720px,80vw);padding:9px 13px;display:flex;position:absolute;bottom:44px;left:50%;transform:translate(-50%)}.slideshow-caption strong{font:18px Libre Caslon Display,serif}.slideshow-caption span{color:var(--gold);font-size:10px}.slideshow-progress{gap:5px;width:min(440px,58vw);display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.slideshow-progress span{background:#ffffff2e;flex:1;height:2px;overflow:hidden}.slideshow-progress span.is-past{background:#e0b86f85}.slideshow-progress span.is-current{background:linear-gradient(90deg, var(--gold), #e0b86f52);animation:slideshow-progress var(--slideshow-duration,5.5s) linear both}.slideshow-exit{color:#9db0a985;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:9px;position:absolute;bottom:16px;right:30px}@keyframes slideshow-reveal{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes slideshow-progress{0%{opacity:.45}to{opacity:1}}@keyframes photo-zoom-in{0%{transform:scale(1.005)}to{transform:scale(1.065)}}@keyframes photo-zoom-out{0%{transform:scale(1.065)}to{transform:scale(1.005)}}@keyframes photo-drift-left{0%{transform:scale(1.055)translate(1.4%)}to{transform:scale(1.055)translate(-1.4%)}}@keyframes photo-drift-right{0%{transform:scale(1.055)translate(-1.4%)}to{transform:scale(1.055)translate(1.4%)}}@keyframes photo-drift-up{0%{transform:scale(1.055)translateY(1.4%)}to{transform:scale(1.055)translateY(-1.4%)}}@keyframes photo-drift-down{0%{transform:scale(1.055)translateY(-1.4%)}to{transform:scale(1.055)translateY(1.4%)}}@media (prefers-reduced-motion:reduce){.slideshow-motion{animation:none}}footer{color:#66807a;text-align:center;letter-spacing:.08em;text-transform:uppercase;padding:20px 30px 40px;font-size:11px}.mosaic-page{min-height:100vh}.mosaic-header{border-bottom:1px solid #e0b86f38;align-items:center;gap:30px;padding:30px clamp(24px,5vw,72px);display:flex;position:relative}.mosaic-header .brand-mark{width:110px;height:110px}.mosaic-back{color:var(--gold);border-bottom:1px solid #e0b86f66;text-decoration:none;position:absolute;top:30px;right:clamp(24px,5vw,72px)}.mosaic-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;width:min(1500px,100% - 48px);margin:32px auto 60px;display:grid}.mosaic-tile{aspect-ratio:1;color:var(--gold);background:radial-gradient(circle at 50% 32%,#174846,#071c1e 72%);border:1px solid #e0b86f57;place-items:center;font:clamp(24px,3vw,42px) Libre Caslon Display,serif;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,3px 5px #00000029}.mosaic-tile img{object-fit:cover;width:100%;height:100%}.admin-layout{min-height:100vh;padding:38px clamp(20px,5vw,72px) 70px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:38px;display:flex}.admin-header a,.admin-header nav button{color:var(--gold);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e0b86f66;padding:0;text-decoration:none}.admin-header nav{align-items:center;gap:22px;display:flex}.admin-login-page{background:radial-gradient(circle at 50% 0, #23695d33, transparent 42%), var(--ink);place-items:center;min-height:100vh;padding:28px;display:grid}.admin-login-card{text-align:center;background:#0d2627f2;border:1px solid #e0b86f40;border-radius:22px;width:min(100%,430px);padding:42px;box-shadow:0 28px 80px #00000059}.admin-login-card>img{object-fit:contain;width:112px;height:112px;margin-bottom:20px}.admin-login-card h1{margin:5px 0 12px;font-size:clamp(32px,7vw,48px)}.admin-login-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.admin-login-card form{text-align:left;gap:18px;margin:28px 0 22px;display:grid}.admin-login-card label{color:var(--paper);gap:8px;display:grid}.admin-login-card input{width:100%}.admin-login-card>a{color:var(--gold);border-bottom:1px solid #e0b86f66;text-decoration:none}.admin-login-error{color:#ffb8ad;text-align:center;margin:0}.admin-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:28px;max-width:1120px;margin:auto;display:grid}.editor-card,.records-card{background:var(--panel);border:1px solid #e0b86f47;padding:30px;box-shadow:10px 12px #00000029}.editor-card{gap:19px;display:grid}.form-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.form-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.backup-button{color:#071a1d;background:var(--gold);white-space:nowrap;border:1px solid #efca85;padding:8px 11px;font-size:11px;font-weight:700;text-decoration:none}.backup-tools{background:#e0b86f0f;border:1px solid #e0b86f3d;justify-content:space-between;align-items:center;gap:22px;padding:16px;display:flex}.backup-tools h3{margin:2px 0 5px;font-size:18px}.backup-tools p:last-child{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.backup-tool-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.backup-secondary{color:var(--gold);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #e0b86f6b;padding:8px 11px;font:700 11px inherit;text-decoration:none}.backup-secondary:disabled{opacity:.5;cursor:wait}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.cancel-button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #285452;padding:7px 10px}.root-notice{color:#d8c28f;border-left:3px solid var(--gold);background:#e0b86f14;padding:12px 14px;font-size:12px;line-height:1.5}.avatar-instruction{background:#061d1f9e;border:1px solid #285452;padding:13px 14px}.avatar-instruction>span{color:#b7c4bf;font-size:12px}.avatar-instruction p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.avatar-instruction code{color:var(--gold);font-family:Consolas,monospace;font-size:10px}.avatar-upload-row{background:#061d1f9e;border:1px solid #285452;align-items:center;gap:14px;padding:13px;display:flex}.avatar-upload-row>img,.avatar-upload-placeholder{object-fit:cover;border:1px solid #e0b86f73;flex:none;width:56px;height:64px}.avatar-upload-placeholder{color:var(--gold);background:#071c1e;place-items:center;font:15px Libre Caslon Display,serif;display:grid}.avatar-upload-control{gap:6px;min-width:0;display:grid}.avatar-upload-control input{background:0 0;border:0;padding:0;font-size:11px}.avatar-upload-control input::file-selector-button{color:#071a1d;background:var(--gold);cursor:pointer;border:0;margin-right:10px;padding:8px 10px}.avatar-upload-control small{color:var(--muted);font-size:10px}.edit-current-avatar{color:var(--gold);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e0b86f59;justify-self:start;padding:4px 0;font-size:10px}.avatar-editor{background:#031517b8;border:1px solid #e0b86f4d;gap:14px;padding:16px;display:grid}.avatar-editor-heading{justify-content:space-between;align-items:start;gap:15px;display:flex}.avatar-editor-heading>div{gap:3px;display:grid}.avatar-editor-heading strong{font:20px Libre Caslon Display,serif}.avatar-editor-heading small{color:var(--muted);font-size:10px}.avatar-editor-heading button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:10px}.avatar-cropper{background:#020d0f;width:100%;height:410px;position:relative;overflow:hidden}.avatar-editor-controls{grid-template-columns:repeat(2,1fr);gap:11px 16px;display:grid}.avatar-editor-controls label{grid-template-columns:1fr auto;align-items:center}.avatar-editor-controls input{accent-color:var(--gold);grid-column:1/-1;padding:0}.avatar-editor-controls output{color:var(--gold);font-size:10px}.avatar-editor-actions{flex-wrap:wrap;gap:7px;display:flex}.avatar-editor-actions button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #285452;padding:7px 9px;font-size:9px}.avatar-editor-actions button.is-active{color:#071a1d;border-color:var(--gold);background:var(--gold)}.avatar-apply{color:#071a1d;background:var(--gold);cursor:pointer;border:1px solid #efca85;padding:12px;font-weight:700}.avatar-apply:disabled{opacity:.55}.editor-card label{color:#b7c4bf;gap:7px;font-size:12px;display:grid}.editor-card input,.editor-card select,.editor-card textarea{width:100%;color:var(--ink);background:#061d1f;border:1px solid #285452;outline:none;padding:12px 13px}.editor-card input:focus,.editor-card select:focus,.editor-card textarea:focus{border-color:var(--gold)}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-note{color:var(--muted);font-size:10px;line-height:1.45}.save-button{color:#071a1d;background:var(--gold);cursor:pointer;border:1px solid #efca85;padding:14px 20px;font-weight:700}.save-button:disabled{opacity:.6}.form-message{color:#d9c694;margin:0}.records-card{max-height:690px;overflow:hidden}.record-filter{color:#b7c4bf;gap:7px;margin-top:17px;font-size:11px;display:grid}.record-filter-field{display:block;position:relative}.record-filter input{width:100%;color:var(--ink);background:#061d1f;border:1px solid #285452;outline:none;padding:11px 66px 11px 12px}.record-filter input:focus{border-color:var(--gold)}.record-filter input::placeholder{color:#718680}.record-filter-field button{color:var(--gold);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e0b86f59;padding:4px 5px;font-size:9px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.record-result-count{color:var(--muted);margin:8px 0 0;font-size:9px}.record-list{max-height:495px;margin-top:9px;overflow:auto}.record-list>div{border-bottom:1px solid #e0b86f1f;align-items:center;gap:12px;padding:10px 7px;transition:background .2s;display:flex}.record-list>div.is-editing{background:#e0b86f14}.record-list>div>span{width:34px;height:40px;color:var(--gold);background:#061d1f;flex:none;place-items:center;font-size:10px;display:grid}.record-list p{flex:1;gap:3px;min-width:0;margin:0;display:grid}.record-list strong{font:15px Libre Caslon Display,serif}.record-list small{color:var(--muted);font-size:10px}.record-actions{flex-direction:column;gap:4px;display:flex}.record-actions button{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:3px 6px;font-size:9px}.record-actions .delete-button{color:#b98376}.record-actions button:disabled{color:#526964;cursor:not-allowed}.record-list .record-empty{color:var(--muted);text-align:center;padding:24px 8px;font-size:11px;line-height:1.5;display:block}.loading{min-height:100vh;color:var(--gold);place-items:center;display:grid}.dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000708db;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.confirm-dialog{background:linear-gradient(145deg,#08282a,#04191b);border:1px solid #e0b86f6b;width:min(440px,100%);padding:34px;position:relative;overflow:hidden;box-shadow:0 28px 75px #00000094}.confirm-dialog:before{content:"";border:1px solid #e0b86f1f;border-radius:50%;width:180px;height:180px;position:absolute;top:-110px;right:-75px}.confirm-dialog-mark{color:#071a1d;background:var(--gold);border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:25px;font:17px Libre Caslon Display,serif;display:grid}.confirm-dialog h2{max-width:340px;margin:0;font:31px/1.08 Libre Caslon Display,serif}.confirm-dialog-message{color:#aebdb8;margin:17px 0 27px;font-size:12px;line-height:1.65}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.confirm-dialog-actions button{cursor:pointer;min-height:39px;padding:10px 14px;font-size:10px;font-weight:700}.dialog-cancel{color:var(--muted);background:0 0;border:1px solid #315b59}.dialog-confirm{color:#071a1d;background:var(--gold);border:1px solid #efca85}.dialog-confirm.is-destructive{color:#f3dfd9;background:#713b35;border-color:#9b554c}.dialog-cancel:focus-visible,.dialog-confirm:focus-visible{outline-offset:3px;outline:2px solid #efca85}.photo-admin-layout{min-height:100vh;padding:38px clamp(20px,5vw,72px) 70px}.photo-admin-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:28px;max-width:1300px;margin:auto;display:grid}.photo-editor{align-content:start}.photo-editor input[type=file]{padding:10px}.image-editor-panel,.tag-panel{gap:15px;padding-top:4px;display:grid}.editor-step{align-items:center;gap:11px;display:flex}.editor-step>span{color:#071a1d;background:var(--gold);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.editor-step>div{gap:2px;display:grid}.editor-step strong{font:19px Libre Caslon Display,serif}.editor-step small{color:var(--muted);font-size:10px}.edit-controls{background:#061d1f9e;border:1px solid #285452;grid-template-columns:repeat(3,1fr);gap:12px;padding:13px;display:grid}.crop-format-bar{background:#061d1f9e;border:1px solid #285452;flex-wrap:wrap;gap:7px;padding:11px;display:flex}.crop-format-bar button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #285452;padding:7px 9px;font-size:9px}.crop-format-bar button.is-active{color:#071a1d;border-color:var(--gold);background:var(--gold)}.gallery-cropper{background:#020d0f;border:1px solid #e0b86f59;place-items:center;width:100%;min-height:360px;padding:14px;display:grid;overflow:auto}.gallery-cropper .ReactCrop{max-width:100%;max-height:620px}.gallery-cropper .ReactCrop__child-wrapper>img{width:auto;max-width:100%;max-height:590px;display:block}.gallery-cropper .ReactCrop__crop-selection{border:2px solid var(--gold);box-shadow:0 0 0 9999em #00080999}.gallery-cropper .ReactCrop__drag-handle{background:var(--gold);border:2px solid #071a1d;border-radius:50%;width:18px;height:18px}.crop-help{color:var(--muted);margin:-3px 0 0;font-size:10px;line-height:1.5}.gallery-edit-controls{grid-template-columns:repeat(3,1fr)}.edit-controls label{grid-template-columns:1fr auto;align-items:center}.edit-controls input{accent-color:var(--gold);grid-column:1/-1;padding:0}.edit-controls output{color:var(--gold);font-size:10px}.edit-actions{flex-wrap:wrap;gap:7px;display:flex}.edit-actions button,.return-edit-button,.continue-button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #285452;padding:8px 10px;font-size:10px}.edit-actions button.is-active{color:#071a1d;border-color:var(--gold);background:var(--gold)}.crop-stage{cursor:crosshair;touch-action:none;border:1px solid #e0b86f59;width:fit-content;max-width:100%;margin:auto;position:relative;overflow:hidden}.crop-stage img{pointer-events:none;width:auto;max-width:100%;max-height:620px;display:block}.crop-stage:after{content:"";pointer-events:none;background:#00080947;position:absolute;inset:0}.crop-box{z-index:2;border:2px solid var(--gold);pointer-events:none;position:absolute;box-shadow:0 0 0 9999px #0008098a}.crop-box:before,.crop-box:after{content:"";border-top:1px solid #ffffff8c;position:absolute;inset:33.333% 0 auto}.crop-box:after{inset:66.666% 0 auto}.continue-button{color:#071a1d;border-color:var(--gold);background:var(--gold);width:100%;padding:12px;font-weight:700}.return-edit-button{color:var(--gold);justify-self:start}.identity-controls{grid-template-columns:.7fr 1.3fr;gap:12px;display:grid}.tag-instruction{color:#d8c28f;border-left:3px solid var(--gold);background:#e0b86f14;margin:0;padding:11px 13px;font-size:11px;line-height:1.55}.tagging-stage{cursor:crosshair;touch-action:none;border:1px solid #e0b86f59}.tagging-stage>img{object-fit:contain;pointer-events:none;width:auto;max-width:100%;max-height:620px;display:block}.admin-face-tag{cursor:pointer;padding:0}.admin-face-tag>span{display:block;bottom:-23px}.admin-face-tag.is-selected{z-index:4;cursor:move;touch-action:none;border-color:#fff0c5;box-shadow:0 0 0 2px #e0b86f57,0 0 18px #00000080}.tag-handle{z-index:3;touch-action:none;background:#f0c979;border:2px solid #071a1d;border-radius:50%;width:13px;height:13px;position:absolute}.tag-handle.nw{cursor:nwse-resize;top:-7px;left:-7px}.tag-handle.ne{cursor:nesw-resize;top:-7px;right:-7px}.tag-handle.sw{cursor:nesw-resize;bottom:-7px;left:-7px}.tag-handle.se{cursor:nwse-resize;bottom:-7px;right:-7px}.selected-tag-tools{color:var(--muted);border-left:2px solid var(--gold);background:#e0b86f12;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:10px;display:flex}.selected-tag-tools strong{color:var(--ink)}.selected-tag-tools button{color:#d49286;cursor:pointer;background:0 0;border:1px solid #b9837673;flex:none;padding:5px 7px;font-size:9px}.tagged-people{flex-wrap:wrap;gap:7px;display:flex}.tagged-people button{color:var(--gold);cursor:pointer;background:#00000024;border:1px solid #e0b86f4d;padding:5px 8px;font-size:10px}.tagged-people button.is-active{color:#071a1d;background:var(--gold)}.photo-records{max-height:940px}.photo-archive-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0;display:grid}.photo-archive-stats span{color:var(--muted);text-align:center;background:#0000001f;border:1px solid #e0b86f24;gap:2px;padding:9px 6px;font-size:8px;display:grid}.photo-archive-stats strong{color:var(--gold);font:20px Libre Caslon Display,serif}.photo-archive-stats .needs-review strong{color:#d9a98d}.photo-library-tools{grid-template-columns:1fr 1fr;gap:8px;display:grid}.photo-library-tools label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;gap:4px;font-size:8px;display:grid}.photo-library-tools label:first-child{grid-column:1/-1}.photo-library-tools input,.photo-library-tools select{width:100%;min-width:0;color:var(--ink);text-transform:none;background:#061d1f;border:1px solid #285452;outline:none;padding:8px 9px;font-size:10px}.photo-library-tools input:focus,.photo-library-tools select:focus{border-color:var(--gold)}.photo-result-line{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:10px 0 0;font-size:9px;display:flex}.photo-result-line button{color:var(--gold);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e0b86f59;padding:0 0 2px;font-size:9px}.photo-record-list{max-height:610px;margin-top:6px;overflow:auto}.photo-record-list article{border-bottom:1px solid #e0b86f21;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 5px;display:grid}.photo-record-list article.is-editing{background:#e0b86f14}.photo-record-preview{width:72px;height:72px;display:block;overflow:hidden}.photo-record-list img{object-fit:cover;width:72px;height:72px}.photo-record-list article>div{gap:4px;min-width:0;display:grid}.photo-record-list strong{font:15px Libre Caslon Display,serif}.photo-record-list small{color:var(--muted);font-size:9px}.photo-record-list em{color:#81958f;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;overflow:hidden}.photo-record-list article>span{gap:4px;display:grid}.photo-record-list button,.photo-record-list article>span a{color:var(--gold);text-align:center;cursor:pointer;background:0 0;border:0;font-size:9px;text-decoration:none}.photo-record-list .delete-button{color:#b98376}.empty-records{color:var(--muted);font-size:12px;line-height:1.6}.collaboration-page{min-height:100vh;padding:42px clamp(18px,5vw,72px) 70px}.collaboration-header{grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:28px;max-width:980px;margin:0 auto 34px;display:grid}.collaboration-header img{object-fit:contain;width:112px;height:112px}.collaboration-header h1{color:var(--ink);margin:0;font:clamp(34px,5vw,58px)/.98 Libre Caslon Display,serif}.collaboration-header p:last-child{max-width:650px;color:var(--muted);margin:12px 0 0;line-height:1.6}.collaboration-header>a{color:var(--gold);align-self:start;font-size:11px;text-decoration:none}.collaboration-card{background:#091f20d1;border:1px solid #e0b86f40;max-width:760px;margin:auto;padding:clamp(22px,4vw,42px);box-shadow:0 22px 70px #00000038}.collaboration-card form{gap:16px;display:grid}.collaboration-card label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:7px;font-size:10px;display:grid}.collaboration-card input,.collaboration-card select,.collaboration-card textarea{width:100%;color:var(--ink);text-transform:none;background:#092526;border:1px solid #285452;border-radius:0;outline:none;padding:11px 12px;font:13px/1.5 inherit}.collaboration-card textarea{resize:vertical}.collaboration-card input:focus,.collaboration-card select:focus,.collaboration-card textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #e0b86f1a}.collaboration-trap{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.collaboration-note{color:var(--muted);margin:-3px 0 0;font-size:10px;line-height:1.5}.contribution-success{text-align:center;justify-items:center;gap:13px;padding:34px 10px;display:grid}.contribution-success>span{color:#092526;background:var(--gold);border-radius:50%;place-items:center;width:74px;height:74px;font:28px Libre Caslon Display,serif;display:grid}.contribution-success h2,.contribution-success p{margin:0}.contribution-success p{color:var(--muted)}.contribution-success button{color:var(--gold);border:1px solid var(--gold);cursor:pointer;background:0 0;padding:10px 15px}.collaboration-admin{max-width:1180px;margin:auto}.collaboration-summary{background:#091f20b8;border:1px solid #e0b86f38;grid-template-columns:auto minmax(250px,1fr) auto;align-items:center;gap:24px;margin-bottom:24px;padding:20px 24px;display:grid}.collaboration-summary>div{text-align:center;display:grid}.collaboration-summary strong{color:var(--gold);font:42px/1 Libre Caslon Display,serif}.collaboration-summary span{color:var(--muted);font-size:10px}.collaboration-summary p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.collaboration-summary>span{gap:7px;display:flex}.collaboration-summary button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #285452;padding:8px 10px;font-size:10px}.collaboration-summary button.is-active{color:#092526;border-color:var(--gold);background:var(--gold)}.contribution-list{gap:13px;display:grid}.contribution-item{border:1px solid #e0b86f2e;border-left:3px solid var(--gold);background:#091f20b8;padding:22px 24px}.contribution-item.status-incorporated{border-left-color:#6ca988}.contribution-item.status-discarded{opacity:.72;border-left-color:#9a6d65}.contribution-meta{justify-content:space-between;gap:12px;display:flex}.contribution-meta span{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.contribution-meta small{color:var(--muted);font-size:9px}.contribution-item h2{margin:11px 0 4px;font:25px Libre Caslon Display,serif}.contribution-relation,.contribution-author{color:var(--muted);margin:5px 0;font-size:11px}.contribution-details{color:var(--ink);white-space:pre-wrap;background:#00000029;margin:17px 0;padding:14px;font-size:13px;line-height:1.65}.contribution-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.contribution-actions a,.contribution-actions button{color:var(--gold);cursor:pointer;background:0 0;border:1px solid #e0b86f61;padding:8px 10px;font-size:10px;text-decoration:none}.contribution-actions .discard{color:#c69085;border-color:#c6908566}.maintenance-layout{max-width:1120px;margin:auto}.maintenance-status{grid-template-columns:.72fr 1.2fr 1fr;gap:18px;margin-bottom:24px;display:grid}.maintenance-status>div{background:#091f20b8;border:1px solid #e0b86f33;padding:20px}.health-mark{align-content:center;gap:7px;display:grid;border-left:4px solid #b38276!important}.health-mark.ok{border-left-color:#6da889!important}.health-mark span{color:var(--ink);font:24px Libre Caslon Display,serif}.health-mark small{color:var(--muted);font-size:9px;line-height:1.5}.maintenance-counts{grid-template-columns:1fr 1fr;gap:14px;display:grid}.maintenance-counts span{color:var(--muted);font-size:9px;display:grid}.maintenance-counts strong{color:var(--gold);font:27px Libre Caslon Display,serif}.file-health{gap:10px;display:grid}.file-health p{align-items:center;gap:9px;margin:0;display:flex}.file-health i{color:#071a1d;background:#6da889;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:10px;font-style:normal;display:grid}.file-health .invalid i{background:#b38276}.file-health span{color:var(--ink);gap:2px;font-size:10px;display:grid}.file-health small{color:var(--muted);font-size:8px}.history-card{background:#091f20b8;border:1px solid #e0b86f33;padding:clamp(20px,4vw,34px)}.history-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.history-heading h2{margin:0;font:32px Libre Caslon Display,serif}.history-heading>span{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.history-heading button,.history-heading a,.history-filters button{color:var(--gold);cursor:pointer;background:0 0;border:1px solid #e0b86f57;padding:8px 10px;font-size:9px;text-decoration:none}.history-filters{flex-wrap:wrap;gap:7px;margin:22px 0 13px;display:flex}.history-filters button.is-active{color:#071a1d;border-color:var(--gold);background:var(--gold)}.history-list{border-top:1px solid #e0b86f1f;max-height:600px;overflow:auto}.history-list article{border-bottom:1px solid #e0b86f1a;align-items:center;gap:13px;padding:13px 5px;display:flex}.history-list article>i{background:#75938c;border-radius:50%;flex:none;width:9px;height:9px}.history-list article>i.photos{background:#c89d61}.history-list article>i.contributions{background:#7ba2ae}.history-list article>i.backups{background:#ad7ea1}.history-list article>div{gap:4px;display:grid}.history-list strong{font-size:11px;font-weight:600}.history-list small{color:var(--muted);font-size:9px}@media (width<=760px){.site-header{align-items:center;gap:22px;padding:24px 20px 23px}.brand-mark{width:110px;height:110px}.site-header h1{font-size:clamp(32px,9vw,42px);line-height:1.02}.intro{font-size:14px;line-height:1.55}.tree-frame{margin:20px 10px 46px}.drag-hint{display:none}.tree-nav{width:34px;height:48px}.tree-nav-left{left:-4px}.tree-nav-right{right:-4px}.tree-toolbar{gap:12px;padding:10px 12px;font-size:10px}.tree-actions{gap:11px}.tree-canvas{padding-left:20px;padding-right:20px}.admin-grid,.photo-admin-grid,.edit-controls,.identity-controls,.field-row,.avatar-editor-controls{grid-template-columns:1fr}.avatar-cropper{height:min(390px,72vw)}.form-heading{flex-direction:column}.form-heading-actions{justify-content:flex-start}.backup-tools{flex-direction:column;align-items:flex-start}.backup-tool-actions{justify-content:flex-start}.records-card{max-height:500px}.person-panel{width:min(430px,100vw);padding:48px 24px 36px}.viewer-backdrop{padding:8px}.photo-viewer{width:100%;max-height:98vh;padding:9px}.manual-viewer-main{grid-template-columns:1fr;overflow:auto}.viewer-image-wrap>img{max-height:calc(98vh - 230px)}.people-index{border-top:1px solid #e0b86f2e;border-left:0;padding:9px 2px 2px}.people-index p{margin-bottom:7px}.people-index div{flex-flow:wrap;gap:5px}.people-index button{padding:5px 7px;font-size:10px}.slideshow-backdrop{padding:56px 10px 48px}.slideshow-close{top:12px;right:12px}.slideshow-stage img{max-height:calc(100vh - 110px)}.slideshow-caption{max-width:92vw;bottom:38px}.slideshow-progress{bottom:16px}.slideshow-exit{display:none}.mosaic-header{gap:20px;padding:24px 20px}.mosaic-header .brand-mark{width:86px;height:86px}.mosaic-header h1{font-size:38px}.mosaic-back{font-size:12px;top:18px;right:20px}.mosaic-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:7px;width:calc(100% - 24px);margin-top:20px}footer{padding-bottom:30px}}@media (width<=520px){.site-header{width:100vw;max-width:100vw;display:block}.site-header>div:last-child{width:calc(100vw - 40px);max-width:calc(100vw - 40px)}.brand-mark{width:102px;height:102px;margin:0 0 18px}.eyebrow{margin-bottom:7px}.site-header h1{max-width:360px;font-size:36px}.intro{overflow-wrap:break-word;width:100%;max-width:100%;margin-top:12px}.tree-frame{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.tree-toolbar span:first-child{max-width:62%;line-height:1.35}.tree-toolbar>span:first-child{max-width:40%}.tree-actions{gap:9px}.mosaic-header{padding-top:60px;display:block}.mosaic-header .brand-mark{width:94px;height:94px;margin-bottom:16px}.mosaic-header h1{font-size:36px}.admin-layout{padding:26px 14px 50px}.admin-header{align-items:flex-start;gap:20px}.admin-header nav{flex-direction:column;align-items:flex-end;gap:10px;font-size:11px}.admin-header h1{font-size:40px}.editor-card,.records-card{padding:20px 16px}.record-list>div{flex-wrap:wrap;align-items:flex-start}.record-actions{flex-direction:row;justify-content:flex-end;width:100%}.photo-admin-layout{padding:26px 12px 50px}.photo-record-list article{grid-template-columns:60px minmax(0,1fr)}.photo-record-preview,.photo-record-list img,.photo-record-list img{width:60px;height:60px}.photo-record-list article>span{grid-column:2;justify-content:flex-end;display:flex}.photo-library-tools{grid-template-columns:1fr}.photo-library-tools label:first-child{grid-column:auto}.collaboration-header{grid-template-columns:82px 1fr;gap:18px}.collaboration-header img{width:82px;height:82px}.collaboration-header>a{grid-column:1/-1}.collaboration-summary{grid-template-columns:1fr}.collaboration-summary>div{text-align:left;grid-template-columns:auto auto;justify-content:start;align-items:end;gap:8px}.collaboration-summary>span{justify-content:flex-start}.contribution-meta{flex-direction:column;align-items:flex-start}.maintenance-status{grid-template-columns:1fr}.history-heading{flex-direction:column}.history-heading>span{justify-content:flex-start}}
