:root{--ink:#18140d;--forest:#062b1a;--forest2:#0b3d26;--cream:#f8f2df;--gold:#d7b75f;--gold2:#f0db91;--line:rgba(215,183,95,.32);--serif:Georgia,"Times New Roman",serif;--sans:"Avenir Next","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% 0,rgba(79,138,86,.26),transparent 32%),linear-gradient(180deg,#031c11,#062b1a 45%,#031c11);color:var(--cream);font-family:var(--sans);min-height:100vh}button,input{font:inherit}button,a{transition:.2s ease}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.festival-canopy{position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;contain:layout style}.festival-ornament{position:absolute;left:var(--x);top:var(--y);display:grid;place-items:center;width:calc(var(--size) + 18px);height:calc(var(--size) + 18px);padding:6px;border:1px solid rgba(240,219,145,.2);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1),rgba(6,43,26,.2) 60%,transparent 72%);box-shadow:0 10px 28px rgba(0,0,0,.24),0 0 16px rgba(215,183,95,.1);font-size:var(--size);line-height:1;cursor:pointer;pointer-events:auto;opacity:.72;transform-origin:center;animation:festival-float var(--duration) ease-in-out var(--delay) infinite;will-change:transform;filter:drop-shadow(0 7px 7px rgba(0,0,0,.32));-webkit-tap-highlight-color:transparent}.festival-glyph{display:block;transition:transform .32s cubic-bezier(.2,.9,.2,1.35),filter .32s ease}.festival-glyph svg{display:block;width:1.35em;height:1.35em;overflow:visible;fill:none;stroke:#7fa85c;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}.festival-glyph-pine svg{stroke:#5f914d}.festival-glyph-palm svg{stroke:#9aba64}.festival-glyph svg .branch-stem{stroke:#bc9650;stroke-width:5.2}.festival-ornament:hover,.festival-ornament:focus-visible{z-index:5;opacity:1;border-color:rgba(240,219,145,.8);background:radial-gradient(circle,rgba(240,219,145,.28),rgba(6,43,26,.22) 64%,transparent 74%);outline:none}.festival-ornament:hover .festival-glyph,.festival-ornament:focus-visible .festival-glyph{transform:scale(1.32) rotate(-9deg);filter:drop-shadow(0 0 13px rgba(240,219,145,.8))}.festival-ornament.is-celebrating .festival-glyph{animation:festival-celebrate .85s cubic-bezier(.2,.8,.2,1)}
@keyframes festival-float{0%,100%{transform:translate3d(var(--mouse-x,0px),calc(var(--mouse-y,0px) + var(--scroll-shift,0px)),0) rotate(-3deg)}50%{transform:translate3d(calc(var(--mouse-x,0px) + 9px),calc(var(--mouse-y,0px) - 15px + var(--scroll-shift,0px)),0) rotate(5deg)}}@keyframes festival-celebrate{0%,100%{transform:scale(1) rotate(0)}35%{transform:scale(1.65) rotate(18deg)}65%{transform:scale(1.25) rotate(-16deg)}}
.media-hero{min-height:72vh;padding:24px clamp(20px,5vw,80px) 72px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;border-bottom:1px solid var(--line)}.media-nav{position:absolute;top:24px;left:clamp(20px,5vw,80px);right:clamp(20px,5vw,80px);display:flex;justify-content:space-between;gap:20px}.media-nav a{color:var(--cream);text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.media-nav a:hover{color:var(--gold2)}.eyebrow{color:var(--gold2)!important;font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem}.media-hero h1{font:500 clamp(2.8rem,7vw,7rem)/.96 var(--serif);letter-spacing:-.045em;max-width:1200px;margin:12px auto 22px}.media-logo{display:block;width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));margin-bottom:18px}.hero-copy{max-width:680px;color:rgba(248,242,223,.8);line-height:1.7;margin:0 0 25px}.primary{border:1px solid var(--gold);background:var(--gold);color:#151109;border-radius:999px;padding:14px 24px;font-weight:800;cursor:pointer}.primary:hover{background:var(--gold2);transform:translateY(-2px)}
main{width:min(1500px,100%);margin:auto;padding:42px clamp(16px,4vw,64px) 90px}.feed-tools{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:28px}.filter-group{display:flex;gap:8px}.filter,.load-more{border:1px solid var(--line);color:var(--cream);background:rgba(255,255,255,.04);padding:10px 17px;border-radius:999px;cursor:pointer}.filter.is-active,.filter:hover,.load-more:hover{color:#171109;background:var(--gold2)}.search input{width:min(420px,45vw);border:1px solid var(--line);background:rgba(0,0,0,.28);color:white;border-radius:999px;padding:13px 18px;outline:none}.search input:focus{border-color:var(--gold)}.status{color:rgba(248,242,223,.72);text-align:center}.status.is-error{color:#ffb4a8}.media-grid{columns:4 260px;column-gap:14px}.media-card{position:relative;break-inside:avoid;margin-bottom:14px;border:1px solid var(--line);background:#0a2117;border-radius:18px;overflow:hidden;cursor:pointer}.media-card img,.media-card video{display:block;width:100%;height:auto;min-height:180px;object-fit:cover;background:#07140e}.media-card-overlay{position:absolute;inset:auto 0 0;padding:38px 16px 15px;background:linear-gradient(transparent,rgba(0,0,0,.88));display:flex;align-items:end;justify-content:space-between;gap:12px}.media-card-copy{min-width:0}.media-card strong,.media-card span{display:block}.media-card strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-card small{color:rgba(255,255,255,.72)}.like{border:0;background:rgba(0,0,0,.38);color:white;border-radius:999px;padding:9px 12px;cursor:pointer;white-space:nowrap}.like:hover{color:var(--gold2)}.video-badge{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.72);border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.75rem}.load-more{display:block;margin:30px auto}.load-more[hidden]{display:none}
dialog{padding:0;border:1px solid var(--line);background:#07150f;color:var(--cream);box-shadow:0 30px 100px rgba(0,0,0,.7)}dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.dialog-close{position:absolute;z-index:5;top:12px;right:14px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,.7);color:white;font-size:2rem;line-height:1;cursor:pointer}.viewer{width:min(1180px,96vw);height:min(820px,92vh);border-radius:20px;overflow:hidden}.viewer[open]{display:grid;grid-template-columns:minmax(0,1fr) 300px}.viewer-stage{display:flex;align-items:center;justify-content:center;background:#000;min-height:0}.viewer-stage img,.viewer-stage video{max-width:100%;max-height:100%;object-fit:contain}.viewer-info{padding:75px 24px 24px;display:flex;flex-direction:column;gap:10px}.viewer-info span,.viewer-info time{color:rgba(248,242,223,.7)}.viewer-info .like{margin-top:20px;align-self:flex-start}.viewer-arrow{position:absolute;z-index:4;top:50%;width:46px;height:56px;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:2.5rem;cursor:pointer}.viewer-arrow.prev{left:10px}.viewer-arrow.next{right:310px}.upload-dialog{width:min(680px,94vw);max-height:92vh;border-radius:20px;padding:clamp(24px,5vw,50px);overflow:auto}.upload-dialog h2{font:500 clamp(2.1rem,5vw,4rem)/1 var(--serif);margin:8px 0 10px}.upload-dialog form>p:not(.eyebrow){color:rgba(248,242,223,.72)}.upload-dialog label{display:grid;gap:8px;margin:17px 0;font-weight:700}.upload-dialog input:not([type=checkbox]){width:100%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:white;padding:13px;border-radius:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.file-picker span{border:1px dashed var(--gold);border-radius:12px;padding:18px;text-align:center;color:var(--gold2)}.file-picker input{position:absolute;opacity:0;pointer-events:none}.consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:400!important;font-size:.9rem}.consent input{margin-top:4px}.upload-progress{height:8px;background:rgba(255,255,255,.1);border-radius:9px;overflow:hidden}.upload-progress span{display:block;width:0;height:100%;background:var(--gold)}
@media(max-width:760px){.media-hero{padding-top:110px;min-height:80vh}.media-nav{align-items:flex-start}.media-nav a{max-width:45%;line-height:1.4}.feed-tools{align-items:stretch;flex-direction:column}.search input{width:100%}.media-grid{columns:2 145px;column-gap:9px}.media-card{margin-bottom:9px;border-radius:12px}.media-card-overlay{padding:30px 10px 10px}.media-card small{font-size:.7rem}.viewer[open]{display:flex;flex-direction:column}.viewer-stage{flex:1}.viewer-info{padding:18px 20px}.viewer-arrow.next{right:10px}.form-row{grid-template-columns:1fr}}
@media(max-width:760px){.festival-ornament{--size:27px!important;opacity:.58}.festival-ornament:nth-child(3n){display:none}.festival-ornament:nth-child(odd){left:-13px!important}.festival-ornament:nth-child(even){left:auto!important;right:-13px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.festival-ornament{animation:none!important}.festival-ornament:hover .festival-glyph,.festival-ornament:focus-visible .festival-glyph{transform:scale(1.15)}}
.card-like{position:absolute!important;z-index:3;top:12px;left:12px;background:rgba(0,0,0,.58)!important}
.owner-delete{position:absolute;z-index:4;top:12px;right:12px;border:1px solid rgba(255,196,184,.72);border-radius:999px;background:rgba(61,12,8,.84);color:#ffe4df;padding:8px 12px;font-size:.76rem;font-weight:800;cursor:pointer;box-shadow:0 7px 18px rgba(0,0,0,.34)}.owner-delete:hover,.owner-delete:focus-visible{background:#a33c31;color:#fff;transform:translateY(-2px)}.owner-delete:disabled{opacity:.72;cursor:wait}.media-card:has(.owner-delete) .video-badge{top:54px}
.media-card{animation:media-arrive .45s ease both}.media-card img,.media-card video{transition:transform .45s ease}.media-card:hover img,.media-card:hover video{transform:scale(1.025)}button:focus-visible,a:focus-visible,input:focus-visible,.media-card:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}@keyframes media-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
