:root{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;font-synthesis:none;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}h1,h2,p{margin-top:0}h1{font-size:2rem;font-weight:400;letter-spacing:-.045em;line-height:1.2;margin-bottom:2rem}h2{font-size:1.125rem;font-weight:400;margin-bottom:1.5rem}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,.button,summary{cursor:pointer}button,.button{min-height:46px;border:1px solid #aaa;background:white;color:#111;padding:.7rem 1.1rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:.875rem}button:hover,.button:hover{background:#eee}button:disabled{opacity:.5;cursor:wait}.solid{background:#111;color:#fff;border-color:#111}.solid:hover{background:#333}.text-button{min-height:44px;padding:.5rem 0;border:0;background:none;text-decoration:underline;text-underline-offset:4px}.text-button:hover{background:none;color:#666}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #111;outline-offset:4px}label{display:block;font-size:.875rem;margin-bottom:.5rem}input:not([type=checkbox]):not([type=hidden]),select{width:100%;padding:.75rem 0;border:0;border-bottom:1px solid #999;background:#fff;border-radius:0;min-height:46px}input[type=file]{font-size:.875rem}input[type=checkbox]{height:20px;width:20px;accent-color:#111}form p{margin-bottom:1.7rem}form .solid{margin-top:1rem}.helptext{display:block;color:#666;font-size:.875rem;margin-top:.5rem}.errorlist{padding:0;list-style:none;color:#9b2727;font-size:.875rem}.wordmark{font-size:1.25rem;letter-spacing:-.04em;font-weight:500}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#666;margin-bottom:1rem}.secondary{color:#666;font-size:.875rem}.block{display:block}.intro{color:#555;line-height:1.7;margin-bottom:2.7rem;max-width:39rem}.landing{height:100svh;min-height:240px;display:grid;place-items:center}.landing h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;letter-spacing:-.05em;margin:0;user-select:none}.public-header{padding:2.4rem 3rem}.public-main{max-width:470px;margin:7vh auto 5rem;padding:0 24px}.public-main h1{font-size:2.1rem}.public-main button.solid{width:100%}.admin-header{height:100px;border-bottom:1px solid #ddd;display:flex;align-items:center;padding:0 3rem;gap:3rem}.admin-header form{margin-left:auto}.admin-label{margin:0}.admin-layout{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 100px)}.side-nav{border-right:1px solid #ddd;padding:3rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.side-nav a{font-size:.875rem;padding:.8rem;text-decoration:none;display:flex;justify-content:space-between;gap:1rem}.side-nav a[aria-current]{background:#f3f3f3}.side-nav a span{color:#777;font-size:.75rem}.side-nav .password-link{margin-top:3rem;color:#666;font-size:.75rem}.admin-main{padding:3.5rem 4vw;min-width:0;max-width:1600px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.page-heading h1{margin:0}.page-heading .eyebrow{margin-bottom:.8rem}.summary{display:flex;gap:4rem;margin-bottom:3rem}.summary p{display:flex;align-items:baseline;gap:1rem;color:#666;font-size:.875rem}.summary strong{font-size:2.25rem;font-weight:400;color:#111;letter-spacing:-.05em}.tabs{display:flex;gap:1.7rem;border-bottom:1px solid #ddd;overflow:auto}.tabs a{font-size:.875rem;white-space:nowrap;padding:1rem 0;text-decoration:none;color:#666}.tabs a[aria-current]{color:#111;border-bottom:2px solid #111}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#666;font-weight:400;padding:1.3rem 1rem 1.3rem 0}td{padding:1.6rem 1rem 1.6rem 0;border-top:1px solid #e5e5e5;vertical-align:middle}.person{font-size:1rem;text-decoration:none}.person:hover{text-decoration:underline}.status{border:1px solid #ddd;padding:.3rem .7rem;font-size:.75rem;white-space:nowrap}.empty{padding:5rem 1rem;text-align:center;color:#666;width:100%}.empty p{margin-bottom:.5rem}.pagination{display:flex;justify-content:center;gap:2rem;padding:2rem}.notice{padding:1rem;border:1px solid #ccc;font-size:.875rem;margin-bottom:2rem}.back{display:inline-block;font-size:.875rem;margin-bottom:2rem;color:#666}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.decision{border-left:1px solid #ddd;padding-left:3rem}.decision form+form{margin-top:1rem}dl{margin:0}dt{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.06em}dd{margin:0 0 1.5rem}.history{border-top:1px solid #ddd;margin-top:2.5rem;padding-top:2rem;font-size:.875rem}.history time{display:inline-block;color:#666;min-width:170px;padding-right:1rem}.delete-zone{margin-top:4rem}.delete-zone button{color:#777}.narrow{max-width:520px}.upload-panel{border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin-bottom:2.5rem;padding:1.2rem 0}.upload-panel summary{font-size:.875rem}.upload-panel form{padding-top:2rem}.photo-manager{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.photo-manager img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#f6f6f6}.photo-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem}.photo-meta button{font-size:.75rem}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1050px}.settings-form fieldset{border:0;padding:0;margin:0;min-width:0}.settings-form legend{font-size:1.125rem;border-top:1px solid #ccc;width:100%;padding-top:1.5rem;margin-bottom:2rem}.settings-form>.solid{justify-self:start}.gallery-header{display:flex;justify-content:space-between;align-items:center;padding:2.5rem 3rem}.gallery-header .eyebrow{margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem 2rem;padding:2rem 3rem 6rem}.photo-open{padding:0;border:0;display:block;background:none;min-height:0}.photo-open:hover{background:none}.photo-open img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}.gallery-page img{user-select:none}.gallery-page dialog{border:0;padding:4rem 5rem 3rem;background:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.gallery-page dialog::backdrop{background:#fff}.gallery-page dialog[open]{display:flex;align-items:center;justify-content:center}.gallery-page dialog img{max-height:85%;max-width:90%;object-fit:contain}.lightbox-close{position:absolute;right:2rem;top:1rem}.lightbox-prev{position:absolute;left:1rem;bottom:1rem}.lightbox-next{position:absolute;right:1rem;bottom:1rem}#lightbox-count{position:absolute;bottom:1.3rem;margin:0;font-size:.75rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1000px){.admin-layout{grid-template-columns:185px 1fr}.side-nav{padding:2rem .7rem}.admin-main{padding:2.5rem 3vw}.photo-manager{grid-template-columns:repeat(2,1fr)}.settings-form{grid-template-columns:1fr}.detail-grid{gap:2rem}.decision{padding-left:2rem}}@media(max-width:650px){h1{font-size:1.75rem}.public-header{padding:1.5rem}.public-main{margin-top:7vh}.admin-header{height:76px;padding:0 1.25rem;gap:1rem}.admin-label{display:none}.admin-layout{display:block}.side-nav{flex-direction:row;flex-wrap:wrap;padding:.6rem 1rem;border-right:0;border-bottom:1px solid #ddd;gap:.1rem}.side-nav a{padding:.65rem;font-size:.8rem}.side-nav a span{display:none}.side-nav .password-link{margin:0;font-size:.75rem}.admin-main{padding:2rem 1.25rem}.page-heading{align-items:flex-start;gap:1rem;flex-wrap:wrap}.summary{gap:2rem;margin-bottom:1.5rem}.summary p{gap:.6rem}.summary strong{font-size:2rem}.tabs{gap:1.3rem}.detail-grid{grid-template-columns:1fr}.decision{border-left:0;border-top:1px solid #ddd;padding:2rem 0 0}.history time{display:block}.photo-manager{gap:1rem}.photo-meta{align-items:start;flex-direction:column;gap:0}.gallery-header{padding:1.5rem}.gallery-header .eyebrow{font-size:.65rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:2rem .8rem;padding:1rem 1rem 4rem}.gallery-page dialog{padding:4rem 1rem}.gallery-page dialog img{max-width:100%}.settings-form{gap:2rem}}@media print{.gallery-page{display:none}}
.photo-toolbar{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;border-bottom:1px solid #ddd;padding:0 0 1.5rem;margin-bottom:1.5rem}.photo-toolbar button{margin-left:auto}.selection-label,.photo-selection{display:flex;align-items:center;gap:.65rem;margin:0;font-size:.875rem;cursor:pointer}.photo-selection{padding:.75rem 0}.photo-manager article.is-selected{outline:2px solid #111;outline-offset:6px}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:1rem 3rem;background:#f4f4f4;border-bottom:1px solid #ddd;font-size:.875rem}#upload-selection{overflow-wrap:anywhere}#upload-status:empty{display:none}@media(max-width:650px){.preview-bar{padding:1rem 1.5rem}.photo-toolbar{gap:1rem}.photo-toolbar button{margin-left:0}.photo-selection{font-size:.75rem}}
.photo-move{touch-action:none;cursor:grab;min-height:38px;margin-bottom:.5rem;font-size:.75rem}.photo-move:active{cursor:grabbing}.photo-manager .is-dragging{outline:2px solid #111;outline-offset:5px;opacity:.65}.photo-manager[aria-busy=true] .photo-move{cursor:wait;opacity:.5}

.photo-caption{margin-top:1rem}.photo-caption button{margin-top:.75rem}.photo-caption .caption-status{margin:.5rem 0;min-height:1.5em}
.table-wrap{position:relative}
.settings-tabs{margin-bottom:2rem}
.secret-setting{margin-bottom:1.7rem;border:1px solid #ddd;padding:1.1rem}.secret-setting .secret-label{font-size:.875rem;margin-bottom:.8rem}.secret-setting .secret-state{margin-bottom:.8rem}.secret-setting .helptext{line-height:1.5;margin-bottom:1rem}.secret-setting summary{font-size:.875rem;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:.7rem 0}.secret-setting label{margin-top:1rem}
.request-bulk-toolbar{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;padding:1.5rem 0;border-bottom:1px solid #ddd}.request-bulk-action{flex:1 1 260px}.bulk-duration{flex-basis:100%;border:0;padding:0;max-width:520px;min-width:0}.bulk-duration legend{font-size:.875rem;margin-bottom:1rem}.bulk-duration[hidden]{display:none}.request-bulk-toolbar p{flex-basis:100%;margin:0}.request-bulk-toolbar .solid{margin-top:0}#request-bulk tr.is-selected{background:#f5f5f5}#request-bulk td:first-child{width:40px}
input[type=file]::file-selector-button{font:inherit;min-height:46px;padding:.7rem 1.1rem;margin-right:1rem;border:1px solid #aaa;border-radius:0;background:#fff;color:#111;cursor:pointer}
input[type=file]::file-selector-button:hover{background:#eee}
.gallery-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gallery-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.gallery-columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.gallery-grid .empty{grid-column:1/-1}.gallery-pagination{align-items:center;flex-wrap:wrap;padding-top:0;font-size:.875rem}.custom-duration{border:0;padding:1.5rem 0 0;margin:0;min-width:0}.custom-duration legend{padding-top:1rem;font-size:.875rem}.custom-duration[hidden]{display:none}
@media(max-width:1000px) and (min-width:651px){.gallery-columns-4,.gallery-columns-5,.gallery-columns-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.gallery-grid:not(.gallery-columns-1){grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-pagination{gap:1rem}}
