.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;display:grid}.loading-state{color:var(--color-muted);text-align:center;grid-column:1/-1;padding:45px 0;font-size:13px}.category-card{-webkit-appearance:none;appearance:none;color:#f9f6f0;width:100%;min-width:0;min-height:210px;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:0;grid-template-rows:auto 1fr auto;padding:22px;display:grid;position:relative;overflow:hidden}.category-card-header{justify-content:space-between;align-items:flex-start;min-height:42px;display:flex}.category-number{opacity:.7}.category-symbol{margin:0;font:30px/1 serif;display:block}.category-copy{overflow-wrap:anywhere;flex-direction:column;justify-content:center;min-width:0;max-width:250px;padding:22px 0 18px;display:flex}.category-card strong{overflow-wrap:anywhere;min-width:0;font:400 25px/1.05 Fraunces,serif;display:block}.category-card small{opacity:.74;overflow-wrap:anywhere;min-width:0;max-width:225px;margin-top:10px;font-size:11px;line-height:1.45;display:block}.category-card-footer{border-top:1px solid #ffffff35;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.category-count,.category-action{opacity:.78;letter-spacing:.1em;text-transform:uppercase;margin:0;font:9px DM Mono,monospace}.category-action{white-space:nowrap}.category-action b{margin-left:5px;font-size:15px}.tone-0{background:#a64e3d}.tone-1{background:#66807b}.tone-2{background:#c69255}.tone-3{background:#9b6f65}@media (width<=700px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.category-card{min-height:185px;padding:17px}.category-copy{padding:16px 0 12px}.category-symbol{font-size:26px}.category-action{font-size:8px}}.gallery-section{padding-top:78px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:19px;display:flex}.section-heading h2 span{color:var(--color-faint);vertical-align:top;font:400 18px DM Mono,monospace}.live-label{color:var(--color-muted-strong);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-family:DM Mono,monospace;font-size:10px;display:flex}.pulse{background:var(--color-live);width:6px;height:6px;box-shadow:0 0 0 4px var(--color-live-ring);border-radius:50%;transition:background-color .3s,box-shadow .3s;display:inline-block}.live-label.is-offline{color:var(--color-faint)}.live-label.is-offline .pulse{background:var(--color-faint);box-shadow:0 0 0 4px var(--color-border-soft)}.gallery-switcher{border-bottom:1px solid var(--color-border);gap:32px;margin:0 0 18px;display:flex}.gallery-tab{color:var(--color-muted);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 0 11px;font:500 11px DM Mono,monospace;transition:color .2s,border-color .2s}.gallery-tab:hover{color:var(--color-text)}.gallery-tab:focus-visible{outline:2px solid var(--color-accent-text);outline-offset:4px}.gallery-tab.active{border-bottom-color:var(--color-accent);color:var(--color-text)}.gallery-filters{flex-wrap:wrap;gap:6px;margin:0 0 16px;display:flex}.gallery-filters[hidden]{display:none}.filter-chip{border:1px solid var(--color-border);color:var(--color-muted-strong);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:6px 12px;font-size:12px;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.filter-chip span{color:var(--color-faint);font:10px DM Mono,monospace}.filter-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.filter-chip.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.filter-chip.active span{color:#ffffffbf}.gallery-viewport{width:100%;min-width:0;padding:0;position:relative;overflow:visible}.gallery{scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;opacity:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;min-width:0;transition:opacity .18s,transform .18s;display:grid;overflow:visible;transform:translate(0)}.gallery::-webkit-scrollbar{display:none}.gallery.gallery-switching{opacity:0;transform:translate(14px)}.empty-gallery{color:var(--color-muted);text-align:center;grid-column:1/-1;padding:45px 0;font-size:13px}.gallery-arrow{z-index:2;border:1px solid var(--color-border);background:var(--color-bg);width:30px;height:30px;color:var(--color-text);cursor:pointer;border-radius:50%;place-items:center;font-size:24px;line-height:1;display:none;position:absolute;top:44%}.gallery-arrow:hover{background:var(--color-text);color:var(--color-bg)}.gallery-arrow-left{left:0}.gallery-arrow-right{right:0}.photo-card{cursor:zoom-in;border:1px solid var(--color-border-soft);background:var(--color-surface);scroll-snap-align:start;flex:none;width:100%;min-width:0;margin:0;overflow:hidden}.photo-card.is-private{border-color:var(--color-private)}.photo-card img{object-fit:cover;width:100%;height:220px;display:block}.photo-card:focus-visible{outline:2px solid var(--color-accent-text);outline-offset:2px}.photo-card figcaption{flex-direction:column;gap:7px;padding:13px 14px 14px;display:flex}.photo-meta{color:var(--color-accent-text);letter-spacing:.08em;text-transform:uppercase;margin:0;font:9px/1.4 DM Mono,monospace;display:block}.photo-caption{color:var(--color-text-soft);font-size:12px;font-weight:500;line-height:1.4;display:block}@media (width<=900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.gallery-switcher{gap:0}.gallery-tab{text-align:center;flex:1}.gallery-filters{scrollbar-width:none;flex-wrap:nowrap;margin-right:-18px;padding-right:18px;overflow-x:auto}.gallery-filters::-webkit-scrollbar{display:none}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}}.hero{text-align:center;padding:12px 0 40px;position:relative}.eyebrow{color:var(--color-muted-strong);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;font-family:DM Mono,monospace;font-size:10px;display:flex}.dot{background:var(--color-highlight);border-radius:50%;width:6px;height:6px;display:inline-block}.account{color:var(--color-muted-strong);align-items:center;gap:10px;font:10px DM Mono,monospace;display:none;position:absolute;top:8px;right:0}.account.visible{display:flex}.guest-role{color:var(--color-highlight);place-items:center;display:inline-grid}.guest-role svg,.crown-icon{fill:currentColor;fill-opacity:.2;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.guest-role[hidden]{display:none}.account button{border:0;border-bottom:1px solid var(--color-border-strong);color:var(--color-accent-text);cursor:pointer;font:inherit;background:0 0;padding:2px 0}.theme-toggle{border:1px solid var(--color-border-strong);width:32px;height:32px;color:var(--color-muted-strong);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:color .2s,border-color .2s,background-color .2s;display:grid;position:absolute;top:0;left:0}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--color-accent-text);color:var(--color-accent-text);outline:none}.theme-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{display:none}:root[data-theme=dark] .theme-icon-sun{display:block}.date{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin:42px 0 13px;font-family:DM Mono,monospace;font-size:10px}h1{letter-spacing:-.06em;font:400 clamp(54px,9vw,108px)/.9 Fraunces,serif}h1 i{color:var(--color-highlight);font-style:italic}.hero-copy{color:var(--color-muted-strong);margin-top:22px;font-size:14px}.hero-rule{background:var(--color-border);max-width:490px;height:1px;margin:37px auto 0}@media (width<=700px){.hero{padding-bottom:25px}.account{flex-wrap:wrap;justify-content:center;margin-top:14px;position:static}.date{margin-top:32px}}.intro{justify-content:space-between;align-items:end;gap:24px;padding:10px 0 28px;display:flex}.intro-note{max-width:250px;color:var(--color-muted);font-size:13px;line-height:1.7}@media (width<=700px){.intro{display:block}.intro-note{margin-top:17px}}.site-footer{color:var(--color-subtle);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;padding-top:80px;font-family:DM Mono,monospace;font-size:8px;display:flex}.site-footer button{border:0;border-bottom:1px solid var(--color-border-strong);color:var(--color-accent-muted);cursor:pointer;font:inherit;letter-spacing:.1em;text-transform:uppercase;background:0 0;padding:2px 0;font-size:8px}@media (width<=700px){.site-footer{padding-top:55px}}dialog{background:var(--color-bg);width:min(460px,100% - 30px);color:var(--color-text);box-shadow:0 25px 90px var(--color-shadow);border:0;padding:0}dialog::backdrop{background:var(--color-backdrop);backdrop-filter:blur(5px)}dialog form{padding:34px;position:relative}.close-button{color:var(--color-subtle);cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:12px;right:18px}.dialog-prompt{color:var(--color-muted);margin:10px 0 25px;font-size:13px;line-height:1.6}.caption-label{color:var(--color-muted-strong);margin:22px 0 7px;font-size:11px;display:block}.caption-label span{color:var(--color-faint)}.text-input{border:0;border-bottom:1px solid var(--color-border-strong);width:100%;color:var(--color-text);-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;outline:none;padding:9px 0}.submit-button{background:var(--color-accent);color:#fff;cursor:pointer;border:0;width:100%;margin-top:26px;padding:14px}.submit-button:disabled{opacity:.55}.submit-button span{float:right;font-size:18px}.form-status{min-height:18px;color:var(--color-accent-text);text-align:center;margin-top:12px;font-size:11px}.admin-menu{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 18px;padding-bottom:8px;display:grid}.admin-menu-item{color:var(--color-muted);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 5px;font:9px DM Mono,monospace}.admin-menu-item.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.admin-section{border-top:1px solid var(--color-border);padding:18px 0 22px}.admin-section:first-child{border-top:0;padding-top:0}.admin-panel-section{display:none}.admin-panel-section.active{display:block}.admin-section-heading{justify-content:space-between;align-items:end;gap:14px;display:flex}.admin-section-heading .kicker{margin-bottom:7px}.admin-section-heading h3{margin:0;font:400 25px/1.05 Fraunces,serif}.admin-count{color:var(--color-subtle);text-transform:uppercase;font:10px DM Mono,monospace}.guest-add{align-items:stretch;gap:10px;margin:18px 0 14px;display:flex}.guest-add input{flex:1;min-width:0}.guest-add button{background:var(--color-accent);color:#fff;cursor:pointer;-webkit-appearance:none;appearance:none;letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:0;padding:0 13px;font:9px DM Mono,monospace}.admin-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.admin-row-info{flex:1;min-width:0}.admin-drag-handle{width:18px;min-height:28px;color:var(--color-subtle);cursor:grab;touch-action:none;-webkit-appearance:none;appearance:none;background:radial-gradient(circle,currentColor 1.2px,#0000 1.6px) 50%/6px 6px;border:0;border-radius:3px;flex-shrink:0;align-self:stretch;margin:-4px 0;padding:0}.admin-drag-handle:hover,.admin-drag-handle:focus-visible{color:var(--color-accent);background-color:var(--color-surface-muted);outline:none}.is-sorting,.is-sorting *{user-select:none;cursor:grabbing!important}.admin-row.is-dragging{z-index:1;background:var(--color-surface-muted);box-shadow:0 8px 22px var(--color-shadow);opacity:.92;border-radius:2px;position:relative}.admin-row-info b{font-size:13px;font-weight:600;display:block}.moderator-mark{color:var(--color-highlight);vertical-align:-2px;margin-left:4px;display:inline-block}.moderator-mark .crown-icon{fill:currentColor;fill-opacity:.2;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.admin-row-info small{color:var(--color-subtle);margin-top:4px;font:9px DM Mono,monospace;display:block}.admin-row-actions{flex-shrink:0;gap:12px;display:flex}.admin-row-action{color:var(--color-accent);cursor:pointer;-webkit-appearance:none;appearance:none;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;border-radius:0;padding:5px 0;font:9px DM Mono,monospace}.admin-row-action.secondary{color:var(--color-green)}.admin-primary-action{border:1px solid var(--color-accent);width:100%;color:var(--color-accent);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;margin-top:18px;padding:13px 16px;font:10px DM Mono,monospace;display:block}.admin-primary-action:hover{background:var(--color-accent);color:#fff}.admin-primary-action:disabled{opacity:.5;cursor:wait}.admin-note{color:var(--color-muted);margin:14px 0 0;font-size:12px;line-height:1.6}.admin-apply-action{border:1px solid var(--color-green-strong);background:var(--color-green-strong);color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;width:100%;margin-top:10px;padding:13px 16px;font:10px DM Mono,monospace;display:block}.admin-apply-action:disabled{opacity:.4;cursor:not-allowed}@media (width<=700px){.admin-menu{grid-template-columns:repeat(2,1fr)}.admin-row-actions{flex-direction:column}}#image-dialog{background:#171a24;border:0;width:min(94vw,1200px);max-width:none;height:min(92vh,900px);max-height:none;padding:28px;box-shadow:0 25px 90px #11131bcc}#image-dialog[open]{flex-direction:column;gap:16px;display:flex}#image-dialog::backdrop{backdrop-filter:blur(5px);background:#11131dcc}#image-dialog-preview{object-fit:contain;flex:1;width:100%;min-height:0;display:block}.image-dialog-close{z-index:1;color:#20231f;cursor:pointer;background:#f7f3ec;border:0;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1;position:absolute;top:10px;right:14px}.image-dialog-close:hover{color:#fff;background:#d36c4d}.image-dialog-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.image-dialog-info{flex-direction:column;gap:4px;min-width:0;display:flex}#image-dialog-meta{color:#e3896d;letter-spacing:.08em;text-transform:uppercase;font:10px DM Mono,monospace}#image-dialog-caption{color:#ece7de;font-size:13px;font-weight:500}#image-dialog-caption:empty{display:none}.image-dialog-actions{flex-shrink:0;gap:10px;display:flex}.image-dialog-action{color:#f7f3ec;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#f7f3ec14;border:1px solid #f7f3ec40;border-radius:999px;align-items:center;gap:8px;padding:9px 16px 9px 13px;font:500 11px DM Mono,monospace;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.image-dialog-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.image-dialog-action:hover{background:#f7f3ec26;border-color:#f7f3ec}.image-dialog-action.danger{color:#f0a48c;border-color:#e3896d66}.image-dialog-action.danger:hover{color:#fff;background:#a64e3d;border-color:#e3896d}.image-dialog-action[hidden]{display:none}.image-dialog-action:disabled{opacity:.6;cursor:wait}@media (width<=700px){#image-dialog{width:100vw;height:100vh;padding:42px 12px 16px}.image-dialog-actions{width:100%}.image-dialog-action{flex:1;justify-content:center}}.file-picker{border:1px dashed var(--color-border-strong);min-height:150px;color:var(--color-text-soft);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:18px 14px;font-size:13px;display:flex}.file-picker.has-file{border-style:solid;border-color:var(--color-accent-text)}.file-picker small{color:var(--color-faint);margin-top:8px;font-size:10px}.camera-mark{color:var(--color-accent-text);margin-bottom:8px;font:30px Fraunces,serif}.file-input{display:none}.privacy-option{color:var(--color-text-soft);cursor:pointer;align-items:flex-start;gap:10px;margin-top:20px;font-size:12px;line-height:1.4;display:flex}.privacy-option input{width:16px;height:16px;accent-color:var(--color-accent);margin:0}.privacy-option b,.privacy-option small{display:block}.privacy-option small{color:var(--color-subtle);margin-top:3px;font-size:10px}:root{color-scheme:light;--color-bg:#f7f3ec;--color-surface:#fbf8f2;--color-surface-muted:#eee9df;--color-text:#20231f;--color-text-soft:#4c514b;--color-muted-strong:#737b70;--color-muted:#858b82;--color-subtle:#96998e;--color-faint:#a5a79e;--color-border:#d8d5cc;--color-border-soft:#e2ddd3;--color-border-strong:#c9c7be;--color-accent:#a64e3d;--color-accent-text:#b15c44;--color-accent-muted:#8c6255;--color-highlight:#d36c4d;--color-green:#687d75;--color-green-strong:#687d75;--color-live:#6e9a72;--color-live-ring:#deeadb;--color-private:#c58b78;--color-backdrop:#20231f88;--color-shadow:#20231f55}:root[data-theme=dark]{color-scheme:dark;--color-bg:#151716;--color-surface:#1d201f;--color-surface-muted:#242827;--color-text:#ece7de;--color-text-soft:#c9c5bb;--color-muted-strong:#a9ada1;--color-muted:#91968b;--color-subtle:#7e8279;--color-faint:#676b63;--color-border:#323634;--color-border-soft:#2a2e2c;--color-border-strong:#4a4f4b;--color-accent:#b95a46;--color-accent-text:#e3896d;--color-accent-muted:#d3a18d;--color-highlight:#ee8b6b;--color-green:#93b6a9;--color-green-strong:#557268;--color-live:#82b789;--color-live-ring:#233a2a;--color-private:#a8705e;--color-backdrop:#000000b3;--color-shadow:#0009}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:Manrope,sans-serif;transition:background-color .2s,color .2s}button,input{font:inherit}h1,h2,p{margin:0}h2{letter-spacing:-.04em;font:400 clamp(29px,4vw,44px)/1.04 Fraunces,serif}h2 em{color:var(--color-highlight);font-style:italic}.kicker{color:var(--color-accent-text);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-family:DM Mono,monospace;font-size:10px}.shell{max-width:1120px;margin:0 auto;padding:34px 42px 26px}@media (width<=700px){.shell{padding:24px 18px}}
