/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Arial Rounded MT Bold", "Trebuchet MS", ui-rounded, system-ui, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color:#092b4d;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;--navy:#00366f;--navy-deep:#00284f;--orange:#c54200;--blue:#006fa6;--green:#0f8700;--orange-bright:#ff5c00;--blue-bright:#08a5ee;--green-bright:#19c700;--paper:#fbfcf8;--muted:#5c6e7e;--line:#dce3e5;--shadow:0 18px 60px #00366f21;background:#f7f8f4}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--paper);min-width:320px;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 6px var(--blue);outline-offset:2px;outline:3px solid #fff}.eyebrow{color:var(--orange);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:800}.brand-logo{width:min(210px,42vw);height:auto;display:block}.brand-fallback{text-transform:uppercase;flex-direction:column;align-items:stretch;width:min(220px,54vw);font-family:Arial Black,Arial,sans-serif;font-weight:900;line-height:.86;display:inline-flex}.brand-fallback__fish{align-self:center;width:62%;height:auto;margin-bottom:.18rem;display:block}.brand-fallback__name{letter-spacing:-.1em;white-space:nowrap;justify-content:center;width:100%;font-size:clamp(1.65rem,13vw,3rem);display:flex}.brand-fallback__name i{font-style:normal}.brand-fallback__name i:nth-child(4n+1){color:var(--orange)}.brand-fallback__name i:nth-child(4n+2),.brand-fallback__name i:nth-child(4n+4){color:var(--blue)}.brand-fallback__name i:nth-child(4n+3){color:var(--green)}.brand-fallback__year{width:100%;color:var(--navy);letter-spacing:.02em;text-align:justify;text-align-last:justify;white-space:nowrap;font-size:.43em;line-height:1}.brand-fallback--reversed .brand-fallback__year{color:#fff}.participant-shell{min-height:100svh;padding:clamp(1.2rem,4vw,2.5rem) clamp(1.2rem,4vw,2.5rem) 8rem;position:relative;overflow:hidden}.participant-shell:before{content:"";pointer-events:none;border:3rem solid #08a5ee14;border-radius:50%;width:20rem;height:20rem;position:absolute;top:-7rem;right:-7rem}.participant-header{z-index:3;justify-content:space-between;align-items:center;gap:1rem;max-width:1280px;margin:0 auto 1rem;padding-right:3.5rem;display:flex;position:relative}.participant-header p{color:var(--navy);font-family:var(--font-display);margin:0;font-size:clamp(1rem,2vw,1.35rem);font-weight:700}.participant-shell--wall{min-height:100svh;color:var(--navy);background:#fff;padding:0}.participant-shell--wall:before{z-index:1;border-width:4rem;border-color:#08a5ee1a;width:34rem;height:34rem;top:-13rem;right:-10rem}.participant-shell--wall .participant-header{z-index:8;max-width:none;margin:0;padding-right:8.5rem;position:absolute;top:1.25rem;left:1.25rem;right:1.25rem}.participant-shell--wall .participant-header p{color:#fff}.participant-shell--wall .live-wall{background:#fff;border:0;border-radius:0;max-width:none;min-height:100svh;margin:0}.participant-shell--wall .live-wall:before{border-color:#08a5ee26}.participant-shell--wall .live-wall:after{border-color:#19c7001a}.participant-shell--wall .connection-badge{top:1.25rem;right:1.25rem}.participant-shell--wall .wall-empty h2{color:var(--navy)}.participant-shell--wall .wall-empty p{color:var(--muted)}.live-wall{isolation:isolate;background:#eef4f6;border:1px solid #00366f1a;border-radius:2rem;max-width:1280px;min-height:clamp(460px,63svh,760px);margin:1rem auto;position:relative;overflow:hidden}.live-wall:before{content:"";border:1.4rem solid #08a5ee1c;border-radius:50%;height:68%;position:absolute;inset:auto -8% -32%;transform:rotate(-5deg)}.live-wall:after{content:"";border:1rem solid #19c70017;border-radius:50%;height:68%;position:absolute;inset:auto 7% -42% 20%;transform:rotate(9deg)}.photo-slideshow{z-index:2;align-items:center;min-width:0;min-height:0;padding:clamp(12.75rem,24vh,14rem) 0 clamp(5.7rem,10vh,7rem);display:grid;position:absolute;inset:0}.photo-slideshow__viewport{aspect-ratio:4/5;border-radius:1.2rem;width:min(78vw,380px);margin:auto;position:relative;overflow:hidden;box-shadow:0 18px 42px #00285038}.photo-slideshow__slide{will-change:transform, opacity;position:absolute;inset:0}.portrait-card{border:0;border-left:6px solid var(--blue);width:100%;min-width:0;height:100%;min-height:0;color:var(--navy);cursor:zoom-in;text-align:left;background:#fff;border-radius:1.2rem;grid-template-rows:minmax(0,1fr) auto;padding:0;display:grid;position:relative;overflow:hidden}.portrait-card__image{isolation:isolate;background:#e6edf0;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.portrait-card__backdrop{z-index:-1;object-fit:cover;filter:blur(28px)saturate(.8);opacity:.42;width:calc(100% + 4rem);height:calc(100% + 4rem);position:absolute;inset:-2rem;transform:scale(1.08)}.portrait-card__foreground{object-fit:contain;width:100%;height:100%;display:block}.portrait-card__view-hint{z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#002850b8;border:1px solid #ffffff8c;border-radius:999px;align-items:center;gap:.4rem;min-height:2rem;padding:.38rem .55rem;font-size:.72rem;font-weight:800;display:flex;position:absolute;top:.7rem;right:.7rem;box-shadow:0 5px 18px #0003}.portrait-card__view-hint svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:1rem;height:1rem}.portrait-card__view-hint>span{opacity:1;white-space:nowrap;max-width:5.5rem;animation:3s both view-hint-collapse;overflow:hidden}.portrait-card:is(:hover,:focus-visible) .portrait-card__view-hint>span{opacity:1;max-width:5.5rem;animation:none}.portrait-card__copy{background:#fffffff5;align-content:center;gap:.2rem;min-height:4.2rem;padding:.65rem 5rem .75rem 1.15rem;display:grid}.portrait-card__copy>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.88rem,1.5vw,1.08rem);font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.portrait-card__copy strong{color:var(--blue);letter-spacing:.02em;font-size:.78rem}.portrait-card--food .portrait-card__copy strong{color:var(--orange)}.portrait-card--livelihood .portrait-card__copy strong{color:#139500}.portrait-card--festival .portrait-card__copy strong{color:var(--navy)}.portrait-card:focus-visible{outline:3px solid var(--orange);outline-offset:-5px}@keyframes view-hint-collapse{0%,36%{opacity:1;max-width:5.5rem}52%,to{opacity:0;max-width:0}}@keyframes slideshow-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.connection-badge{z-index:10;max-width:min(15rem,100vw - 2rem);color:var(--navy);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border:1px solid #00366f1a;border-radius:1rem;align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex;position:absolute;top:1rem;right:1rem;box-shadow:0 5px 18px #00366f14}.connection-badge__dot{background:var(--orange);border-radius:50%;flex:none;width:7px;height:7px}.connection-badge__copy{gap:.08rem;min-width:0;display:grid}.connection-badge__copy strong{font-size:.75rem;line-height:1.15}.connection-badge__copy small{color:var(--muted);font-size:.64rem;font-weight:650;line-height:1.2}.connection-badge--live .connection-badge__dot{background:var(--green);box-shadow:0 0 0 4px #19c7001f}.connection-badge--offline .connection-badge__dot{background:#cb3e3e}.wall-actions{z-index:20;right:max(1rem,50vw - 640px);bottom:max(1rem, env(safe-area-inset-bottom));gap:.65rem;display:flex;position:fixed}.wall-actions .button{border-radius:.4rem}.button{cursor:pointer;border:1px solid #0000;border-radius:.8rem;justify-content:center;align-items:center;gap:.65rem;min-height:3.1rem;padding:.78rem 1.25rem;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button--primary{background:var(--orange);color:#fff;box-shadow:0 8px 18px #ff5c003d}.button--ghost{border-color:var(--line);color:var(--navy);background:#fff}.viewer{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#001d3ae6;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.viewer__card{background:#fff;border-radius:1.35rem;width:min(760px,96vw);max-height:92svh;margin:0;position:relative;overflow:hidden;box-shadow:0 28px 70px #00000059}.viewer__card img{object-fit:contain;background:#e8edf0;width:100%;max-height:72svh;display:block}.viewer__card figcaption{padding:1rem 1.25rem 1.2rem}.viewer__card p{margin:0 0 .35rem;font-size:1.05rem;font-weight:600}.viewer__card strong{color:var(--orange)}.welcome-card{background:var(--paper);text-align:center;border-radius:1.8rem;width:min(650px,100%);max-height:calc(100svh - 2rem);padding:clamp(1.5rem,5vw,3.4rem);position:relative;overflow:auto;box-shadow:0 30px 90px #00142d61}.welcome-card .eyebrow{margin-bottom:.8rem}.welcome-card h1{max-width:540px;color:var(--navy);font-family:var(--font-display);letter-spacing:-.06em;margin:0 auto;font-size:clamp(2.55rem,8vw,5rem);line-height:.93}.welcome-card__tagline{color:var(--orange);font-family:var(--font-display);margin:1.1rem 0 .75rem;font-size:1.15rem;font-weight:700}.welcome-card__copy{max-width:490px;color:var(--muted);margin:0 auto;font-size:1rem;line-height:1.55}.welcome-card__actions{justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.share-modal-page{background:var(--navy-deep);place-items:center;min-height:100svh;padding:clamp(.75rem,2.5vw,2rem);display:grid;position:relative;overflow:hidden}.share-modal-page:before,.share-modal-page:after{content:"";pointer-events:none;border-radius:50%;position:fixed}.share-modal-page:before{border:5rem solid #08a5ee21;width:38rem;height:38rem;top:-20rem;right:-10rem}.share-modal-page:after{border:4rem solid #19c70017;width:34rem;height:34rem;bottom:-23rem;left:-8rem}.share-modal-page__wash{background:radial-gradient(circle at 22% 15%,#08a5ee29,#0000 30%),radial-gradient(circle at 80% 85%,#ff5c001f,#0000 28%);position:fixed;inset:0}.share-composer{z-index:1;background:var(--paper);border:1px solid #ffffff40;border-radius:1.8rem;width:min(1080px,100%);max-height:calc(100svh - clamp(1.5rem,5vw,4rem));padding:clamp(1.25rem,3vw,2.4rem);position:relative;overflow:auto;box-shadow:0 30px 90px #00102380}.share-composer__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.share-composer__header .brand-logo{width:min(165px,42vw)}.share-composer__close{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--navy);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:1.7rem;line-height:1;text-decoration:none;display:grid}.share-composer__intro{margin:1.35rem 0 1.5rem}.share-composer__intro h1,.success-shell h1{max-width:760px;color:var(--navy);font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(2.25rem,5.6vw,4.7rem);line-height:.94}.share-composer__intro>p:last-child{color:var(--muted);margin:.65rem 0 0;line-height:1.5}.share-composer__grid{grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);align-items:start;gap:clamp(1.25rem,3vw,2.5rem);display:grid}.share-photo-column,.share-details-column{min-width:0}.share-photo-preview{background:#e9f2f5;border:1px dashed #00366f47;border-radius:1.25rem;place-items:center;min-height:390px;display:grid;position:relative;overflow:hidden}.share-photo-preview.has-photo{background:#e8edf0;border-style:solid}.share-photo-preview img{object-fit:contain;width:100%;height:390px;display:block}.share-photo-preview--multi{min-height:390px;padding-bottom:4.4rem;display:block}.share-photo-grid{gap:.35rem;width:100%;height:390px;padding:.35rem;display:grid}.share-photo-grid--1{grid-template-columns:1fr}.share-photo-item{background:#dce6ea;border-radius:.9rem;min-width:0;min-height:0;position:relative;overflow:hidden}.share-photo-item img{object-fit:cover;width:100%;height:100%}.share-photo-placeholder{max-width:310px;color:var(--navy);text-align:center;justify-items:center;padding:2rem;display:grid}.share-photo-placeholder>span{width:4rem;height:4rem;color:var(--orange);background:#fff;border-radius:50%;place-items:center;margin-bottom:1rem;font-size:2rem;display:grid;box-shadow:0 10px 25px #00366f1f}.share-photo-placeholder strong{font-family:var(--font-display);font-size:1.4rem}.share-photo-placeholder small{color:var(--muted);margin-top:.45rem;line-height:1.45}.share-photo-preview__caption{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-radius:.8rem;gap:.15rem;padding:.75rem .9rem;display:grid;position:absolute;bottom:.75rem;left:.75rem;right:.75rem;box-shadow:0 8px 24px #00285029}.share-photo-preview__caption span{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.share-photo-preview__caption strong{color:var(--orange);font-size:.78rem}.share-photo-actions{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.75rem;display:grid}.field-label,.category-fieldset legend{color:var(--navy);margin:1.7rem 0 .55rem;font-size:.84rem;font-weight:800;display:block}.share-details-column>.field-label{margin-top:0}.field-label span{color:var(--muted);margin-left:.4rem;font-weight:500}.caption-field{position:relative}.caption-field textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:108px;color:var(--navy);border-radius:1rem;padding:1rem 1rem 2rem}.count{color:var(--muted);font-size:.72rem;font-weight:700;position:absolute;bottom:.65rem;right:.85rem}.count--error{color:#c53636}.field-help,.field-error{margin:.4rem 0 0;font-size:.75rem}.field-help{color:var(--muted)}.field-error{color:#a52c2c}.category-fieldset{border:0;padding:0}.category-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.category-chip{border:1px solid var(--line);color:var(--navy);cursor:pointer;text-align:left;background:#fff;border-radius:.9rem;justify-items:start;padding:.85rem 1rem;display:grid}.category-chip span{font-weight:800}.category-chip small{color:var(--muted)}.category-chip.is-selected{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--blue);background:#eaf8fe}.category-chip--orange.is-selected{border-color:var(--orange);box-shadow:inset 4px 0 0 var(--orange);background:#fff3ec}.category-chip--green.is-selected{border-color:var(--green);box-shadow:inset 4px 0 0 var(--green);background:#effbed}.category-chip--navy.is-selected{border-color:var(--navy);box-shadow:inset 4px 0 0 var(--navy);background:#eef2f6}.category-grid--compact .category-chip{padding:.72rem .85rem}.share-notice{margin:.75rem 0}.share-submit{width:100%;margin-top:.65rem}.share-composer__footnote{color:var(--muted);text-align:center;margin:.75rem 0 0;font-size:.75rem;line-height:1.4}.notice{z-index:30;border-radius:.8rem;max-width:780px;margin:1rem auto;padding:.8rem 1rem;position:relative}.notice--error{color:#8d2424;background:#fff0f0;border:1px solid #efb2b2}.success-shell{background:radial-gradient(circle at 50% 20%, #e4f7ff, var(--paper) 45%);text-align:center;place-content:center;justify-items:center;min-height:100svh;padding:2rem 1rem;display:grid}.success-shell .brand-logo,.success-shell .brand-fallback{margin-bottom:2rem}.success-burst{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:4.2rem;height:4.2rem;margin-bottom:1rem;font-size:2rem;font-weight:900;display:grid;box-shadow:0 0 0 11px #19c7001f}.success-shell--pending .success-burst{background:var(--orange);box-shadow:0 0 0 11px #ff5c001f}.success-shell--rejected .success-burst{background:#bd3434;box-shadow:0 0 0 11px #bd34341f}.success-photos{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;width:min(820px,94vw);margin:1.25rem 0;display:grid}.success-photo{width:100%;box-shadow:var(--shadow);background:#fff;border-radius:1.25rem;margin:0;overflow:hidden;transform:rotate(-1.5deg)}.success-photo:nth-child(2n){transform:rotate(1.5deg)}.success-photo--single{width:min(430px,92vw);margin:1.25rem 0}.success-photo img{object-fit:contain;background:#eef2f3;width:100%;max-height:42svh;display:block}.success-photo figcaption{color:var(--orange);padding:.75rem;font-weight:800}.success-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.live-wall--display{z-index:3;background:0 0;border:0;border-radius:0;max-width:none;min-height:100svh;margin:0;position:absolute;inset:0 0 0 27vw}.live-wall--display .photo-slideshow{padding:clamp(3rem,7vh,5rem) 0 clamp(4rem,8vh,6rem)}.live-wall--display .wall-queue-status{bottom:3vh;right:2.5vw;transform:translateY(-10.5rem)}.live-wall--display:before{border-color:#08a5ee24}.live-wall--display:after{border-color:#19c70017}.live-wall--display .wall-empty,.live-wall--display .wall-empty h2{color:#fff}.live-wall--display .wall-empty p{color:#ffffffa6}.archive-shell,.admin-shell{background:#f4f7f7;min-height:100svh;padding:clamp(1rem,3vw,2.5rem)}.admin-shell--login{place-items:center;display:grid}.admin-login{border:1px solid var(--line);width:min(100%,30rem);box-shadow:var(--shadow);background:#fff;border-radius:1.25rem;gap:1rem;padding:clamp(1.25rem,5vw,2.5rem);display:grid}.admin-login .brand-logo{width:min(190px,50vw)}.admin-login h1{color:var(--navy);font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.25rem,8vw,3.5rem);line-height:.92}.admin-login form{gap:.65rem;display:grid}.admin-login label{color:var(--navy);font-weight:800}.admin-login input{border:1px solid var(--line);width:100%;min-height:3rem;color:var(--navy);font:inherit;background:#fff;border-radius:.7rem;padding:.75rem .9rem}.admin-header{justify-content:space-between;align-items:center;gap:clamp(1rem,3vw,2.5rem);max-width:1440px;margin:0 auto 1.5rem;display:flex}.admin-header__brand{flex-direction:column;align-items:flex-start;gap:.55rem;min-width:0;display:flex}.admin-header__brand .brand-logo{width:min(175px,34vw)}.admin-header__actions{flex:none;align-items:center;gap:.6rem;display:flex}.archive-header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,2.5rem);max-width:1440px;margin:0 auto 1.5rem;display:grid}.archive-header .brand-logo{width:min(175px,34vw)}.archive-header h1,.admin-header h1{color:var(--navy);font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.92}.archive-header p:last-child{color:var(--muted);margin:.55rem 0 0}.archive-back-anchor{justify-content:flex-end;max-width:1440px;margin:0 auto .55rem;display:flex}.archive-back-anchor .archive-back{min-height:2.8rem;padding:.6rem .9rem}.archive-filters{border:1px solid var(--line);background:#fff;border-radius:1rem;flex-wrap:wrap;align-items:end;gap:.8rem;max-width:1440px;margin:0 auto 1.25rem;padding:1rem;display:flex;box-shadow:0 8px 24px #00366f0f}.archive-filters label{color:var(--navy);gap:.35rem;font-size:.85rem;font-weight:800;display:grid}.archive-filters select{border:1px solid var(--line);min-height:2.8rem;color:var(--navy);background:#fff;border-radius:.65rem;padding:.6rem .75rem}.archive-clear{min-height:2.8rem;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:.6rem .8rem;font-weight:800}.archive-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;max-width:1440px;margin:0 auto;display:grid}.archive-card{border:1px solid var(--line);min-width:0;color:var(--navy);cursor:pointer;text-align:left;background:#fff;border-radius:1rem;padding:0;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden;box-shadow:0 8px 26px #00366f14}.archive-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.archive-card img{aspect-ratio:4/3;object-fit:contain;background:#e9eef0;width:100%;display:block}.archive-card>span{gap:.3rem;padding:.85rem;display:grid}.archive-card strong{color:var(--orange);font-size:.8rem}.archive-card small{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;font-weight:600;display:-webkit-box;overflow:hidden}.archive-card time{color:var(--muted);font-size:.75rem}.archive-empty,.admin-empty{min-height:40svh;color:var(--muted);text-align:center;place-content:center;display:grid}.archive-empty h2,.admin-empty h2{color:var(--navy);font-family:var(--font-display);margin:0;font-size:2rem}.archive-loading,.admin-loading{color:var(--muted);text-align:center}.archive-more,.admin-more{margin:1.5rem auto 0}.admin-tabs{gap:.45rem;max-width:1440px;margin:0 auto 1rem;display:flex;overflow-x:auto}.admin-tabs button{border:1px solid var(--line);min-height:2.8rem;color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem .9rem;font-weight:800;display:flex}.admin-tabs button.is-active{border-color:var(--navy);background:var(--navy);color:#fff}.admin-tabs button:disabled{opacity:.55;cursor:not-allowed}.admin-tabs span{background:#08a5ee24;border-radius:999px;place-items:center;min-width:1.55rem;height:1.55rem;font-size:.75rem;display:grid}.admin-bulk{z-index:20;background:var(--navy);max-width:1440px;box-shadow:var(--shadow);color:#fff;border-radius:.9rem;flex-wrap:wrap;align-items:center;gap:.65rem;margin:0 auto 1rem;padding:.8rem 1rem;display:flex;position:sticky;top:.5rem}.admin-bulk label{align-items:center;gap:.45rem;margin-right:auto;font-weight:800;display:flex}.admin-bulk__hint{color:#ffffffc7;flex-basis:100%;margin:0;font-size:.82rem}.admin-bulk button,.admin-card footer>button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:.6rem;min-height:2.5rem;padding:.55rem .8rem;font-weight:800}.admin-bulk button.is-reject,.admin-card footer>button.is-reject,.admin-bulk button.is-delete,.admin-card footer>button.is-delete,.admin-bulk button.is-remove,.admin-card footer>button.is-remove{background:#bd3434}.admin-bulk button:disabled,.admin-card footer>button:disabled{opacity:.45;cursor:not-allowed}.admin-message{max-width:1440px;color:var(--navy);background:#edf8fd;border:1px solid #b8d9eb;border-radius:.8rem;margin:0 auto 1rem;padding:.75rem 1rem}.admin-live-status{border:1px solid var(--line);background:#fff;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;max-width:1440px;margin:0 auto 1rem;padding:1rem;display:flex;box-shadow:0 8px 24px #00366f0f}.admin-live-status h2{color:var(--navy);font-family:var(--font-display);margin:0;font-size:1.5rem}.admin-live-status p{color:var(--muted);margin:.25rem 0 0}.admin-live-status__connection{color:var(--orange);background:#fff2e8;border-radius:999px;flex:none;padding:.45rem .65rem;font-size:.75rem;font-weight:900}.admin-live-status__connection--live{color:#117f00;background:#ebfae9}.admin-live-status__connection--offline{color:#a52c2c;background:#fff0f0}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;max-width:1440px;margin:0 auto;display:grid}.admin-card{border:1px solid var(--line);background:#fff;border-radius:1rem;align-content:start;display:grid;overflow:hidden;box-shadow:0 8px 24px #00366f12}.admin-card>img,.admin-card__deleted{aspect-ratio:4/3;object-fit:contain;background:#e8edef;width:100%}.admin-card__deleted{color:var(--muted);place-items:center;display:grid}.admin-card__body{gap:.35rem;padding:.85rem;display:grid}.admin-card__body p{color:var(--navy);margin:.2rem 0;font-weight:600}.admin-card__body strong{color:var(--orange);font-size:.8rem}.admin-card__body small{overflow-wrap:anywhere;color:var(--muted)}.admin-card__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-card__meta span{color:var(--orange);text-transform:uppercase;background:#fff0e8;border-radius:999px;padding:.25rem .5rem;font-size:.72rem;font-weight:900}.admin-card--approved .admin-card__meta span{color:#117f00;background:#ebfae9}.admin-card--live .admin-card__meta span{color:#00669d;background:#e7f7ff}.admin-card--rejected .admin-card__meta span{color:#a52c2c;background:#fff0f0}.admin-card__meta time{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.75rem}.admin-card footer{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.35rem;padding:.65rem .7rem;display:grid}.admin-card footer label{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;display:flex}.admin-card footer>button{white-space:nowrap;min-width:0;height:2.5rem;padding:.5rem .6rem;font-size:.8rem;line-height:1}.admin-delete-dialog{width:min(92vw,31rem);max-height:calc(100svh - 2rem);color:var(--navy);border:0;border-radius:1rem;margin:auto;padding:1.4rem;overflow:auto;box-shadow:0 24px 80px #00234852}.admin-delete-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#002348ad}.admin-delete-dialog h2{font-family:var(--font-display);margin:0;font-size:1.8rem}.admin-delete-dialog p{color:var(--muted);margin:.75rem 0 1.25rem;line-height:1.5}.admin-delete-dialog__actions{justify-content:flex-end;gap:.65rem;display:flex}.admin-delete-dialog__confirm{color:#fff;background:#bd3434;border-color:#bd3434}.admin-delete-dialog__confirm:disabled{opacity:.55}@media (width<=899px){.live-wall--display{min-height:calc(100svh - 4.75rem);inset:4.75rem 0 0}.live-wall--display .photo-slideshow{padding:.75rem 0 4.5rem}}@media (width<=700px){.participant-header p{display:none}.participant-shell--wall .participant-header{padding-right:7rem;top:1rem;left:1rem;right:1rem}.participant-shell--wall .participant-header .brand-logo,.participant-shell--wall .participant-header .brand-fallback{width:clamp(82px,30vw,120px);display:block}.participant-shell--wall .live-wall{border-radius:0;min-height:100svh}.participant-shell--wall .connection-badge{top:1rem;right:1rem}.live-wall{border-radius:1.3rem;min-height:58svh}.photo-slideshow{padding:8.25rem 0 5.25rem}.photo-slideshow__viewport{width:min(78vw,330px)}.portrait-card{border-left-width:4px;border-radius:.9rem}.portrait-card__copy{min-height:3.7rem;padding:.55rem 4.5rem .6rem .85rem}.portrait-card__view-hint{top:.55rem;right:.55rem}.portrait-card__position{bottom:.62rem;right:.55rem}.share-dock{width:auto;left:1rem;right:1rem}.share-dock__copy{display:none}.share-dock__actions{width:100%}.share-dock__actions .button{flex:1}.wall-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:.5rem;display:grid;left:1rem;right:1rem}.wall-actions .button{white-space:nowrap;border-radius:.35rem;min-width:0;min-height:2.85rem;padding:.5rem .55rem;font-size:clamp(.8rem,3.7vw,.95rem);line-height:1}.share-modal-page{background:var(--paper);min-height:100svh;padding:0;display:block;overflow:auto}.share-composer{width:100%;min-height:100svh;max-height:none;box-shadow:none;border:0;border-radius:0;padding:1.1rem}.share-composer__intro{margin:1.1rem 0 1.25rem}.share-composer__intro h1{font-size:clamp(2.45rem,12vw,3.5rem)}.share-composer__grid{grid-template-columns:1fr;gap:1.5rem}.share-photo-preview{min-height:280px}.share-photo-preview img{height:320px}.share-photo-preview--multi{min-height:320px}.share-photo-grid{height:320px}.share-photo-item img{height:100%}.category-grid{grid-template-columns:1fr}.share-photo-actions{grid-template-columns:1fr 1fr}.welcome-card{border-radius:1.4rem}.welcome-card__actions{flex-direction:column-reverse}.welcome-card__actions .button{width:100%}.archive-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.85rem}.archive-header__intro{grid-area:2/1/auto/-1}.admin-header{align-items:flex-start;gap:.75rem}.admin-header__actions{gap:.4rem}.admin-header__actions .button{white-space:nowrap;min-width:0;min-height:2.8rem;padding:.65rem .75rem}.admin-header h1{font-size:clamp(2.35rem,12vw,3.6rem)}.admin-header p:last-child{max-width:36rem;font-size:.98rem;line-height:1.45}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.archive-card>span{padding:.65rem}.archive-filters>label{flex:100%}.archive-filters select{width:100%}.admin-grid{grid-template-columns:1fr}.admin-bulk>span{display:none}.admin-bulk{align-items:stretch}.admin-bulk label{flex-basis:100%;margin-right:0}.admin-bulk button{flex:1 1 0}.admin-tabs{padding-bottom:.2rem}.admin-tabs button{flex:none}.admin-live-status{flex-wrap:wrap;align-items:end}.admin-live-status>div{flex-basis:100%}.admin-pin-duration{flex:auto}}@media (width<=360px){.wall-actions{gap:.4rem;left:.75rem;right:.75rem}.wall-actions .button{min-height:2.65rem;padding:.4rem;font-size:.8rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.portrait-card__view-hint>span{display:none}}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:1000;color:var(--navy);background:#fff;border-radius:.6rem;padding:.75rem 1rem;font-weight:800;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.ui-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.ui-button{cursor:pointer;border:1px solid #0000;border-radius:.75rem;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:.7rem 1rem;font-weight:850;line-height:1.1;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s;display:inline-flex}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)scale(.98)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--primary{background:var(--orange);color:#fff;box-shadow:0 8px 20px #a0370038}.ui-button--secondary{color:var(--navy);background:#fff;border-color:#b7c6ce}.ui-button--danger{color:#fff;background:#a52c2c}.ui-button--quiet{color:var(--blue);background:0 0}.ui-icon-button{width:44px;height:44px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #b7c6ce;border-radius:50%;flex:0 0 44px;place-items:center;padding:0;transition:transform .18s,background-color .18s;display:inline-grid}.ui-icon-button:hover:not(:disabled){background:#eef7fb;transform:translateY(-1px)}.ui-icon-button:disabled{opacity:.42;cursor:not-allowed}.ui-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-notice{max-width:780px;color:var(--navy);background:#edf8fd;border:1px solid #afcfdf;border-radius:.75rem;align-items:center;gap:.7rem;margin:.75rem auto;padding:.8rem 1rem;display:flex}.ui-notice--success{color:#0a6500;background:#eff9ed;border-color:#9bcf95}.ui-notice--warning{color:#704200;background:#fff8e9;border-color:#e5bf86}.ui-notice--error{color:#862222;background:#fff0f0;border-color:#e2abab}.ui-status-panel{min-height:15rem;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.65rem;padding:2rem;display:grid}.ui-status-panel h2{color:var(--navy);font-family:var(--font-display);margin:0;font-size:clamp(1.6rem,4vw,2.5rem)}.ui-status-panel p{max-width:34rem;margin:0;line-height:1.5}.ui-status-panel strong{color:var(--orange)}.ui-status-panel__action{margin-top:.35rem}.ui-skeleton{background:#e4eaed;overflow:hidden}.ui-skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffbf,#0000);width:40%;height:100%;animation:1.5s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{transform:translate(-120%)}to{transform:translate(350%)}}.ui-progress{gap:.4rem;display:grid}.ui-progress__copy{color:var(--navy);justify-content:space-between;gap:1rem;font-size:.8rem;display:flex}.ui-progress progress{width:100%;height:.65rem;accent-color:var(--green)}.ui-dialog-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#001d3adb;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.ui-dialog{width:min(100%,42rem);max-height:calc(100svh - 2rem);color:var(--navy);background:#fff;border-radius:1.25rem;padding:clamp(1rem,3vw,1.5rem);overflow:auto;box-shadow:0 28px 80px #00142d66}.ui-dialog__heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.ui-dialog__heading h2{font-family:var(--font-display);margin:0;font-size:1.55rem}.ui-dialog__heading p{color:var(--muted);margin:.3rem 0 0;line-height:1.4}.ui-dialog-backdrop--sheet{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:none;background:#0014288c;place-items:end center;padding:0;overflow:clip}.ui-dialog--sheet{touch-action:auto;border-radius:1.25rem 1.25rem 0 0;flex-direction:column;width:min(100%,560px);max-height:100%;padding:0;display:flex;overflow:hidden}.ui-sheet__header{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;flex:none;padding:0 1rem}.ui-sheet__header:active{cursor:grabbing}.ui-sheet__header .ui-dialog__heading{align-items:center;margin:0;padding-bottom:.65rem}.ui-sheet__handle{touch-action:none;cursor:grab;background:0 0;border:0;place-items:center;width:100%;height:32px;padding:0;display:grid}.ui-sheet__handle span{background:#a5afb7;border-radius:999px;width:40px;height:5px}.ui-sheet__handle:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;border-radius:.5rem}.ui-sheet__content{overscroll-behavior-y:contain;touch-action:pan-y;flex:1;min-height:0;overflow:auto}.participant-shell--wall{min-height:100svh;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:linear-gradient(145deg,#eef8fc,#fff 48%,#f6fbf3);grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem;display:grid;overflow:clip visible}.participant-shell--wall .participant-header{width:min(100%,1280px);max-width:1280px;margin:0 auto;padding:0;position:relative;top:auto;left:auto;right:auto}.participant-shell--wall .participant-header .brand-logo,.participant-shell--wall .participant-header .brand-fallback{width:clamp(100px,18vw,170px)}.participant-shell--wall .live-wall{background:#ffffffc7;border:1px solid #00366f1a;border-radius:1.5rem;width:min(100%,1280px);max-width:1280px;min-height:0;margin:0 auto;overflow:visible;box-shadow:0 15px 45px #00366f14}.live-wall--participant{align-content:start;gap:.65rem;padding:.85rem;display:grid}.live-wall--participant:before,.live-wall--participant:after{display:none}.live-wall__status-row{min-height:44px;color:var(--muted);justify-content:flex-end;align-items:center;gap:.55rem;font-size:.75rem;display:flex}.live-wall__status-row .connection-badge{margin-right:auto;position:relative;top:auto;right:auto}.wall-filters{scrollbar-width:thin;gap:.45rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.wall-filters button{min-height:44px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #b7c6ce;border-radius:999px;flex:none;padding:.55rem .85rem;font-weight:800}.wall-filters button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}.wall-new{min-height:44px;color:var(--navy);cursor:pointer;background:#eaf7fc;border:1px solid #8ec8e1;border-radius:999px;justify-self:center;padding:.55rem .9rem;font-weight:800}.photo-slideshow{touch-action:pan-y;align-items:center;gap:.6rem;min-width:0;min-height:0;padding:0;display:grid;position:relative;inset:auto}.photo-slideshow__viewport{aspect-ratio:4/5;border-radius:1.15rem;width:min(88vw,520px,80svh - 224px);height:auto;margin:auto;position:relative;overflow:hidden;box-shadow:0 18px 42px #0028502e}.photo-slideshow__slide{position:absolute;inset:0}.portrait-card{border:0;border-left:6px solid var(--blue);width:100%;height:100%;color:var(--navy);cursor:default;background:#fff;border-radius:1.15rem;grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.portrait-card__image{cursor:zoom-in;isolation:isolate;background:#e6edf0;border:0;place-items:center;width:100%;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.portrait-card__view-hint{min-height:32px}.portrait-card__view-hint>span{max-width:5.5rem;animation:none}.portrait-card__copy{align-content:center;gap:.35rem;min-height:5.5rem;padding:.7rem 1rem .8rem;display:grid}.portrait-card__copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.portrait-card__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.72rem;font-weight:750;display:flex}.portrait-card__meta time{margin-left:auto}.portrait-card__hashtag{color:var(--blue);font-size:.8rem}.portrait-card--food{border-left-color:var(--orange)}.portrait-card--food .portrait-card__hashtag{color:var(--orange)}.portrait-card--livelihood{border-left-color:var(--green)}.portrait-card--livelihood .portrait-card__hashtag{color:var(--green)}.portrait-card--festival{border-left-color:var(--navy)}.portrait-card--festival .portrait-card__hashtag{color:var(--navy)}.portrait-card__fallback{color:var(--muted);font-weight:800}.status-badge{min-height:1.6rem;color:var(--orange);text-transform:uppercase;background:#fff0e7;border-radius:999px;align-items:center;padding:.2rem .5rem;font-size:.68rem;font-weight:900;display:inline-flex}.carousel-controls{justify-content:center;align-items:center;gap:.55rem;min-height:44px;display:flex}.carousel-controls__position{min-width:5rem;color:var(--navy);text-align:center;font-size:.85rem;font-weight:850}.carousel-progress{background:#00366f1f;border-radius:99px;width:min(88vw,520px);height:4px;margin:-.25rem auto 0;overflow:hidden}.carousel-progress span{background:linear-gradient(90deg, var(--blue), var(--green));transform-origin:0;width:100%;height:100%;animation:linear forwards slideshow-progress;display:block;transform:scaleX(0)}.carousel-progress span[data-paused=true]{animation-play-state:paused}.wall-image-error{width:min(88vw,520px);margin:0 auto}.wall-image-error span{margin-right:auto}.wall-image-error button{min-height:36px;color:var(--blue);cursor:pointer;background:0 0;border:0;font-weight:850}.wall-skeleton{color:var(--muted);justify-items:center;gap:.75rem;padding:.5rem;display:grid}.wall-skeleton__card{aspect-ratio:4/5;border-radius:1.15rem;width:min(88vw,520px,80svh - 224px);height:auto}.wall-actions{justify-content:flex-end;gap:.65rem;width:min(100%,1280px);margin:0 auto;display:flex;position:relative;bottom:auto;left:auto;right:auto}.wall-actions__closed{min-height:44px;color:var(--muted);background:#eef2f4;border-radius:.75rem;align-items:center;padding:.65rem .9rem;font-weight:750;display:inline-flex}.viewer-dialog{width:min(96vw,74rem);padding:1rem}.viewer__card{width:100%;max-height:none;box-shadow:none;overflow:visible}.viewer__card img{border-radius:.85rem;max-height:calc(100svh - 13rem)}.viewer__navigation{justify-content:center;gap:.65rem;padding-bottom:.5rem;display:flex}.welcome-card{text-align:center;width:min(650px,100%)}.welcome-card .ui-dialog__heading{margin-bottom:0}.welcome-card .ui-dialog__heading>div{visibility:hidden}.welcome-card .brand-logo,.welcome-card .brand-fallback{margin:0 auto 1.5rem}.welcome-card h3{font-family:var(--font-display);margin:0;font-size:clamp(2rem,7vw,4rem);line-height:.98}.display-shell{background:var(--navy-deep);color:#fff;min-height:100svh}.venue-wall{height:100svh;padding:max(.8rem, env(safe-area-inset-top)) max(.8rem, env(safe-area-inset-right)) max(.8rem, env(safe-area-inset-bottom)) max(.8rem, env(safe-area-inset-left));background:radial-gradient(circle at 80% 0, #08a5ee47, transparent 35%), var(--navy-deep);grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(.6rem,1.4vh,1rem);display:grid;overflow:hidden}.venue-wall__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.venue-wall__header .eyebrow{color:#ffb487}.venue-wall__header h1{font-family:var(--font-display);margin:0;font-size:clamp(1.35rem,3vw,2.7rem);line-height:1}.venue-wall__tools{align-items:center;gap:.55rem;display:flex}.venue-wall__tools .connection-badge{position:relative;top:auto;right:auto}.venue-wall .ui-status-panel{color:#ffffffc7}.venue-wall .ui-status-panel h2{color:#fff}.venue-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.45rem,1vw,.85rem);min-height:0;display:grid}.venue-card{min-width:0;min-height:0;color:var(--navy);background:#fff;border:1px solid #fff3;border-radius:clamp(.65rem,1.2vw,1rem);grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 12px 30px #0003}.venue-card img{object-fit:contain;background:#e7ecee;width:100%;height:100%;min-height:0}.venue-card>div{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .5rem;padding:clamp(.4rem,.8vw,.7rem);display:grid}.venue-card p{-webkit-line-clamp:1;-webkit-box-orient:vertical;grid-column:1/-1;margin:0;font-size:clamp(.7rem,1vw,.95rem);font-weight:750;display:-webkit-box;overflow:hidden}.venue-card strong{color:var(--orange);font-size:clamp(.62rem,.8vw,.78rem)}.venue-wall__footer{justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.venue-share-copy{text-align:right;display:grid}.venue-share-copy span{color:#ffffffb8;font-size:.78rem}.venue-qr{background:#fff;border:3px solid #fff;border-radius:.3rem;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid;overflow:hidden}.venue-qr__image{width:100%;height:100%;display:block}.venue-qr__skeleton{width:100%;height:100%}.venue-qr__fallback{color:var(--navy);text-align:center;font-size:.55rem;font-weight:850;line-height:1.1}.share-composer__close .ui-icon{width:1.35rem;height:1.35rem}.share-closed-notice{max-width:none;margin:0 0 1rem}.share-closed-notice strong{flex:none}.category-fieldset:first-child legend{margin-top:0}.category-fieldset legend span{color:var(--muted);margin-left:.4rem;font-weight:500}.category-fieldset[aria-invalid=true]{border:2px solid #a52c2c;border-radius:1rem;padding:.35rem}.share-photo-actions .ui-button{width:100%}.share-details-column .ui-progress{margin-top:.8rem}.success-burst .ui-icon{stroke-width:2.5px;width:2rem;height:2rem}.success-burst__pending{background:currentColor;border-radius:999px;width:1.8rem;height:.45rem}.archive-card{content-visibility:auto;contain-intrinsic-size:310px}.archive-card-skeleton{border-radius:1rem;height:19rem}.archive-pagination-error{justify-content:space-between;max-width:1440px}.archive-pagination-error .ui-button{flex:none}.archive-shell>.ui-status-panel{max-width:1440px;margin:0 auto}.admin-pin-duration{min-width:9rem;color:var(--navy);gap:.2rem;font-size:.75rem;font-weight:800;display:grid}.admin-pin-duration select{border:1px solid var(--line);min-height:44px;color:var(--navy);background:#fff;border-radius:.6rem;padding:.45rem .65rem}.admin-pin-duration small{color:var(--muted);font-weight:650}.admin-card__pin-expiry{font-weight:800;color:var(--orange)!important}.admin-card footer>button.is-unpin{color:var(--navy);background:#fff;border:1px solid #9caeb8}.admin-card footer>button.is-pin{background:var(--blue)}.admin-card--live footer{grid-template-columns:minmax(0,1fr) repeat(2,auto)}.admin-message.ui-notice{max-width:1440px}.admin-confirm-dialog{width:min(92vw,31rem)}@media (width>=1024px) and (height>=600px){.venue-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1600px) and (height>=900px){.venue-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=700px){.participant-shell--wall{padding:max(.65rem, env(safe-area-inset-top)) max(.65rem, env(safe-area-inset-right)) max(.65rem, env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left));gap:.5rem}.participant-shell--wall .participant-header{padding:0;position:relative;top:auto;left:auto;right:auto}.participant-shell--wall .live-wall{border-radius:1rem;min-height:0}.participant-shell--wall .connection-badge{top:auto;right:auto}.live-wall--participant{padding:.6rem}.photo-slideshow__viewport,.wall-skeleton__card{width:min(92vw,440px,80svh - 224px);height:auto}.portrait-card{border-radius:.85rem}.portrait-card__copy{min-height:5rem;padding:.65rem .8rem}.carousel-progress{width:min(92vw,440px)}.wall-actions{grid-template-columns:1fr 1.15fr;left:auto;right:auto}.wall-actions .ui-button{text-align:center;min-width:0;padding-inline:.65rem}}@media (width>=900px) and (height<=800px){.participant-shell--wall{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:180px minmax(0,1fr);align-items:start}.participant-shell--wall .participant-header{grid-area:1/1/3}.participant-shell--wall .live-wall{grid-area:1/2}.participant-shell--wall .wall-actions{grid-area:2/2}}@media (height<=500px) and (orientation:landscape){.participant-shell--wall{grid-template-rows:auto auto;grid-template-columns:minmax(100px,.25fr) minmax(0,1fr);align-items:start;min-height:100svh}.participant-shell--wall .participant-header{grid-area:1/1/3}.participant-shell--wall .live-wall,.participant-shell--wall .wall-actions{grid-column:2}.photo-slideshow__viewport,.wall-skeleton__card{aspect-ratio:4/5;width:min(62vw,80svh - 94.4px,360px);height:auto}}@media (width<=360px){.participant-shell--wall{padding:max(.4rem, env(safe-area-inset-top)) max(.4rem, env(safe-area-inset-right)) max(.4rem, env(safe-area-inset-bottom)) max(.4rem, env(safe-area-inset-left));gap:.3rem}.participant-shell--wall .participant-header .brand-logo,.participant-shell--wall .participant-header .brand-fallback{width:82px}.live-wall--participant{gap:.35rem;padding:.4rem}.live-wall__status-row{min-height:36px}.wall-actions .ui-icon{display:none}}@media (prefers-reduced-motion:reduce){.ui-skeleton:after,.ui-spinner,.carousel-progress span{animation:none!important}}.social-shell{color:#142b43;background:#f4f6f8;min-height:100dvh}.social-header{z-index:10;background:#fffffff5;border-bottom:1px solid #dfe5eb;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem max(1rem,50vw - 480px);display:flex;position:sticky;top:0}.social-header .brand-logo,.social-header .brand-fallback{width:145px}.social-header nav{align-items:center;gap:1.25rem;display:flex}.social-header a{color:var(--navy);font-size:.85rem;font-weight:750;text-decoration:none}.social-header__live-wall{white-space:nowrap;background:#eaf5fc;border:1px solid #c9ddec;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:.55rem .85rem;display:inline-flex}.social-header .social-upload{white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:0 8px;font-size:12px;display:inline-flex;position:relative}.social-upload:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid;position:absolute;inset:6px 0}.social-upload svg{flex-shrink:0;width:16px;height:16px}.mobile-festival-nav{display:none}.social-intro{width:min(600px,100%);margin:auto;padding:1.8rem 1rem 1.3rem}.social-intro .eyebrow{margin-bottom:.5rem}.social-intro h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(1.5rem,4vw,2rem)}.social-intro>p:last-of-type{color:var(--muted);margin:.5rem 0 0;font-size:.9rem}.social-intro>a{color:var(--blue);margin-top:1rem;display:inline-block}.social-feed{gap:1.25rem;width:min(600px,100%);margin:0 auto;display:grid}.empty-feed{color:#10366f;text-align:center;background:#fff;justify-items:center;gap:clamp(16px,4vw,28px);width:min(100%,700px);margin:64px auto 0;padding:clamp(16px,4vw,28px) clamp(16px,4vw,28px) 32px;display:grid}.empty-feed__art{background:#f488bb;border:3px solid #172d4c;border-radius:clamp(24px,6vw,44px);justify-self:start;width:calc(100% - 10px);height:auto;display:block;box-shadow:10px 12px #172d4c}.empty-feed p,.empty-feed h2{margin:0}.empty-feed .empty-feed__label{color:var(--orange);letter-spacing:.2em;margin-top:16px;font-size:clamp(11px,2.65vw,18px);font-weight:850}.empty-feed h2{font-family:var(--font-sans);letter-spacing:-.045em;font-size:clamp(27px,7.5vw,54px);font-weight:900;line-height:1.1}.empty-feed__description{color:#68778f;max-width:650px;font-size:clamp(16px,3.65vw,25px);font-weight:600;line-height:1.55}.empty-feed__quote{color:#5c6b83;background:#f3f5f8;border-radius:999px;max-width:100%;padding:10px 20px;font-size:clamp(12px,2.8vw,19px);font-weight:750;line-height:1.5}.empty-feed__upload{background:var(--orange);color:#fff;border-radius:clamp(18px,4vw,28px);justify-content:center;align-items:center;width:86%;min-height:58px;margin:4px 0 8px;padding:clamp(16px,4vw,28px) 12px;font-size:clamp(17px,3.8vw,27px);font-weight:850;line-height:1.3;text-decoration:none;display:flex;box-shadow:0 8px #923100,0 20px 32px #c542001a}.empty-feed__upload:hover{background:#ac3900}.empty-feed__upload:focus-visible{outline:3px solid var(--navy);outline-offset:5px}.empty-feed__helper{color:#68778f;letter-spacing:.025em;font-size:clamp(12px,2.6vw,17px);line-height:1.5}@media (width<=640px){.public-feed:has(.empty-feed){flex-direction:column;display:flex}.public-feed:has(.empty-feed) .social-header{flex-shrink:0}.public-feed:has(.empty-feed) .social-feed-layout{flex:1;align-content:center;display:grid}.empty-feed{gap:clamp(8px,1.5svh,12px);margin-top:0;padding:16px}.empty-feed__art{justify-self:center;width:min(100% - 10px,320px,32svh);transform:translate(-5px)}.empty-feed .empty-feed__label{margin-top:8px;font-size:11px}.empty-feed h2{font-size:clamp(26px,6.5vw,34px)}.empty-feed__description{font-size:clamp(14px,3.65vw,16px);line-height:1.45}.empty-feed__quote{padding:8px 12px;font-size:12px}.empty-feed__upload{width:100%;min-height:52px;padding:14px 12px;font-size:17px}}.social-post{background:#fff;border:1px solid #dfe5eb;border-radius:12px;overflow:hidden}.social-post__header{align-items:center;gap:.7rem;padding:.85rem 1rem;display:flex}.social-avatar{width:36px;height:36px;color:var(--navy);background:#e8f3fb;border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.social-avatar--festival{background:var(--navy);color:#fff}.social-avatar--food{color:var(--orange);background:#fff0e8}.social-avatar--livelihood{color:var(--green);background:#e8f7e5}.social-post__header>div{gap:.18rem;display:grid}.social-post__header strong{font-size:.88rem}.social-post__header span:not(.social-avatar){color:var(--muted);font-size:.72rem}.social-post__header>a{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.72rem;text-decoration:none}.social-post__image{cursor:zoom-in;background:#eef1f4;border:0;width:100%;padding:0;display:grid}.social-post__image img{object-fit:contain;width:100%;height:auto;max-height:85svh;display:block}.photo-carousel__viewport{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;width:100%;display:flex;overflow-x:auto}.photo-carousel__viewport::-webkit-scrollbar{display:none}.photo-carousel__viewport:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.photo-carousel__slide{aspect-ratio:1;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;align-items:center;min-width:0;max-height:75svh}.photo-carousel__slide img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;min-height:0;max-height:75svh}.photo-carousel__controls{justify-content:center;align-items:center;gap:.75rem;padding:.2rem .75rem;display:flex}.photo-carousel__controls button{min-width:44px;min-height:44px;color:var(--navy);cursor:pointer;background:0 0;border:0;font-size:1.8rem}.photo-carousel__controls button:disabled{opacity:.3;cursor:default}.photo-carousel__position{text-align:center;min-width:4rem;color:var(--muted);font-size:.85rem}.sharing-as{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.sharing-as button{min-height:44px;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:.3rem .6rem;text-decoration:underline}.uploader-name-dialog{max-width:440px}.uploader-name-dialog input{border:1px solid var(--muted);width:100%;min-height:48px;font:inherit;border-radius:.65rem;padding:.7rem .8rem}.uploader-name-dialog__actions{justify-content:flex-end;gap:.65rem;margin-top:1.25rem;display:flex}.social-post__body{padding:.6rem 1rem 1rem}.social-post__actions{align-items:center;gap:.3rem;margin-bottom:.2rem;margin-left:-.45rem;display:flex}.social-post__actions>button,.social-post__actions>a{color:#142b43;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.4rem;min-width:44px;min-height:44px;padding:.5rem;text-decoration:none;display:flex}.social-post__actions svg{width:25px;height:25px}.social-post__actions .is-liked{color:#d8314b}.social-post__actions .is-liked svg{fill:currentColor}.social-post__actions button:disabled{cursor:wait}.social-post__share span{font-size:.82rem}.photo-share-dialog{max-width:440px}.photo-share-dialog__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.photo-share-dialog__options :is(a,button){border:1px solid var(--line);min-height:48px;color:var(--navy);font:inherit;cursor:pointer;background:#fff;border-radius:.65rem;justify-content:center;align-items:center;padding:.75rem;text-decoration:none;display:flex}.photo-share-dialog__options :is(a,button):focus-visible{outline:3px solid var(--orange);outline-offset:2px}.photo-share-dialog .social-copy-fallback{gap:.5rem;margin-top:1rem;display:grid}.photo-share-dialog .social-copy-fallback input{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;font:inherit;border-radius:.5rem;padding:.6rem}.social-post__actions .social-post__copy{color:var(--muted);margin-left:auto;font-size:.75rem}.social-post__likes{font-size:.86rem;display:block}.social-post__caption{overflow-wrap:anywhere;margin:.45rem 0 .2rem;font-size:.9rem;line-height:1.5}.social-post__hashtags{color:var(--blue);overflow-wrap:anywhere;margin:.3rem 0;font-size:.83rem}.social-post__comments{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.35rem 0;font-size:.83rem}.feed-loading,.feed-more{text-align:center;width:min(560px,92vw);margin:1.5rem auto;display:block}.feed-skeleton__post{background:#fff;border:1px solid #dfe5eb;border-radius:12px;overflow:hidden}.feed-skeleton__header{align-items:center;gap:.7rem;padding:.85rem 1rem;display:flex}.feed-skeleton__avatar{border-radius:50%;flex:0 0 36px;width:36px;height:36px}.feed-skeleton__author{flex:1;gap:.35rem;min-width:0;display:grid}.feed-skeleton__name{border-radius:.25rem;width:min(140px,80%);height:.85rem}.feed-skeleton__location{border-radius:.25rem;width:min(110px,65%);height:.65rem}.feed-skeleton__date{border-radius:.25rem;width:40px;height:.65rem}.feed-skeleton__image{aspect-ratio:4/3;width:100%}.feed-skeleton__body{gap:.65rem;padding:.6rem 1rem 1rem;display:grid}.feed-skeleton__actions{align-items:center;gap:1rem;min-height:44px;display:flex}.feed-skeleton__actions>div{border-radius:.4rem;width:25px;height:25px}.feed-skeleton__likes{border-radius:.25rem;width:80px;height:.85rem}.feed-skeleton__caption{border-radius:.25rem;width:90%;height:.85rem}.feed-skeleton__caption--short{width:60%}.comments-skeleton__row{border-bottom:1px solid var(--line);gap:.7rem;padding:.9rem 0;display:flex}.comments-skeleton__avatar{border-radius:50%;flex:0 0 40px;width:40px;height:40px}.comments-skeleton__content{flex:1;gap:.6rem;min-width:0;display:grid}.comments-skeleton__name{border-radius:.25rem;width:35%;height:.85rem}.comments-skeleton__text{border-radius:.25rem;width:95%;height:.85rem}.comments-skeleton__text--short{width:65%}.comments-skeleton__metadata{border-radius:.25rem;width:30%;height:.7rem}.comments-dialog .comments-skeleton .ui-skeleton{background:#30383e}.comments-dialog .comments-skeleton .ui-skeleton:after{background:linear-gradient(90deg,#0000,#ffffff1f,#0000)}.social-shell>.ui-notice,.social-feed-column>.ui-notice{width:min(600px,94vw);margin:1rem auto}.social-shell>.status-panel{width:min(600px,94vw);margin:2rem auto}.social-footer{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:1rem;padding:2rem 1rem;font-size:.75rem;display:flex}.social-footer a{color:var(--blue)}.social-feed-layout,.social-feed-column{display:contents}.festival-sidebar,.photo-carousel__desktop-badge{display:none}@media (width>=1024px){.public-feed{--feed-header-height:80px;--feed-photo-height:min(55svh, 520px)}.public-feed .social-header{height:var(--feed-header-height);padding:12px max(24px,50% - 476px)}.public-feed .social-header .social-header__archive,.public-feed .social-header .social-upload{display:none}.public-feed .social-header .brand-logo,.public-feed .social-header .brand-fallback{width:88px;max-height:56px}.public-feed .social-header .brand-fallback{font-size:12px}.public-feed .social-header .brand-fallback__fish{width:auto;max-height:26px}.public-feed .social-header .brand-fallback__name{font-size:20px}.public-feed .social-feed-layout{grid-template-columns:minmax(0,640px) 280px;gap:32px;max-width:1000px;margin:0 auto;padding:24px 24px 0;display:grid}.public-feed .social-feed-column{min-width:0;display:block}.public-feed .social-intro{width:100%;margin:0;padding:0 0 20px}.public-feed .social-intro>p:last-of-type{display:none}.public-feed .social-feed{gap:24px;width:100%}.public-feed .festival-sidebar{top:calc(var(--feed-header-height) + 24px);background:#fff;border:1px solid #dfe5eb;border-radius:12px;align-self:start;gap:16px;padding:24px;display:grid;position:sticky}.public-feed .festival-sidebar h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:20px}.public-feed .festival-sidebar p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.public-feed .festival-sidebar .ui-button{justify-content:center;gap:8px;display:flex}.public-feed .festival-sidebar svg{width:18px;height:18px}.public-feed .festival-sidebar__archive{min-height:44px;color:var(--navy);justify-content:space-between;align-items:center;font-size:14px;text-decoration:none;display:flex}.public-feed .photo-carousel{position:relative}.public-feed .photo-carousel__slide{aspect-ratio:auto;height:var(--feed-photo-height);max-height:none}.public-feed .photo-carousel__slide img{object-fit:contain;height:100%;max-height:100%}.public-feed .photo-carousel__controls{padding:0}.public-feed .photo-carousel__controls button{width:44px;height:44px;color:var(--navy);background:#fffffff2;border:1px solid #dfe5eb;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #142b4326}.public-feed .photo-carousel__controls button:first-of-type{left:12px}.public-feed .photo-carousel__controls button:last-of-type{right:12px}.public-feed .photo-carousel__controls button:disabled{opacity:.55}.public-feed .photo-carousel__controls button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.public-feed .photo-carousel__desktop-badge{color:#fff;pointer-events:none;background:#142b43d9;border-radius:999px;padding:5px 10px;font-size:12px;display:block;position:absolute;top:12px;right:12px}.public-feed .photo-carousel__position{clip-path:inset(50%);white-space:nowrap;width:1px;min-width:0;height:1px;position:absolute;overflow:hidden}.public-feed .social-post__body{padding-left:16px;padding-right:16px}.public-feed .feed-skeleton__image{height:var(--feed-photo-height);aspect-ratio:auto}.public-feed .feed-loading,.public-feed .feed-more{width:100%}.public-feed .new-posts-button{top:calc(var(--feed-header-height) + 12px)}}.new-posts-button{z-index:9;background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:999px;margin:0 auto 1rem;padding:.7rem 1rem;font-weight:750;display:block;position:sticky;top:80px;box-shadow:0 4px 20px #00366f33}.comments-dialog{--muted:#a5adb8;--line:#30363b;color:#f7f8fa;background:#181c1f;border-radius:1.75rem 1.75rem 0 0}.comments-dialog .ui-sheet__header{border-bottom:1px solid var(--line)}.comments-dialog .ui-dialog__heading{justify-content:center;padding:.25rem 2.75rem 1rem;position:relative}.comments-dialog .ui-dialog__heading h2{color:inherit;font-family:var(--font-sans);text-align:center;font-size:1.5rem;font-weight:850}.comments-dialog .ui-sheet__handle span{background:var(--muted)}.comments-dialog .ui-sheet__content{flex-direction:column;display:flex;overflow:hidden}.comments-dialog .comment-list{overscroll-behavior-y:contain;touch-action:pan-y;flex:1 1 0;min-height:3rem;padding:0 1rem;overflow-y:auto}.comments-dialog .comments-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:100%;padding:1.5rem 0;display:flex}.comments-dialog .comments-empty strong{font-size:clamp(1.35rem,5vw,1.8rem);font-weight:850}.comments-dialog .comments-empty p{color:var(--muted);margin:0;font-size:1rem}.comments-dialog .social-avatar{color:#f7f8fa;background:#30383e;border:1px solid #49535c;width:40px;height:40px}.comments-dialog .photo-comment{border-bottom:1px solid var(--line);gap:.7rem;padding:.9rem 0;display:flex}.comments-dialog .photo-comment>div{min-width:0}.comments-dialog .photo-comment strong{overflow-wrap:anywhere;font-size:.86rem}.comments-dialog .photo-comment p{overflow-wrap:anywhere;margin:.2rem 0 .4rem;line-height:1.5}.comments-dialog .photo-comment time{color:var(--muted);font-size:.7rem}.comments-dialog .comment-form{min-height:0;max-height:75%;padding:1rem 1rem max(1rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);overscroll-behavior-y:contain;touch-action:pan-y;flex:0 auto;gap:.65rem;margin:0;scroll-padding-block:1rem;display:grid;overflow-y:auto}.comments-dialog .comment-form label{gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.comments-dialog .comment-nickname input{width:100%;min-height:44px;color:inherit;background:0 0;border:1px solid #49535c;border-radius:.65rem;padding:.65rem .75rem;font-size:1rem}.comments-dialog .comment-nickname small{margin-top:.4rem;display:block}.comments-dialog .comment-identity{color:var(--muted);align-items:center;gap:.25rem;margin:-.4rem 0;font-size:.75rem;display:flex}.comments-dialog .comment-identity p{overflow-wrap:anywhere;min-width:0;margin:0}.comments-dialog .comment-identity strong{color:#f7f8fa}.comments-dialog .comment-composer{align-items:end;gap:.75rem;display:flex}.comments-dialog .comment-composer>.social-avatar{margin-bottom:3px}.comments-dialog .comment-composer__input{border:1px solid #49535c;border-radius:1.5rem;flex:1;align-items:end;gap:.25rem;min-width:0;padding:3px;display:flex}.comments-dialog .comment-composer textarea{width:100%;min-width:0;min-height:44px;max-height:112px;color:inherit;resize:none;background:0 0;border:0;border-radius:1.25rem;flex:1 1 0;padding:11px 12px;font-size:1rem;line-height:22px;display:block}.comments-dialog .comment-composer textarea::placeholder{color:var(--muted);opacity:1}.comments-dialog .comment-send{color:#181c1f;cursor:pointer;background:#f7f8fa;border:0;border-radius:50%;flex:none;place-items:center;min-width:44px;height:44px;display:grid}.comments-dialog .comment-send svg{width:22px;height:22px}.comments-dialog .comment-send:disabled{opacity:.45;cursor:default}.comments-dialog .comment-form small{color:var(--muted);font-size:.72rem}.comments-dialog .comment-count{text-align:right}.comments-dialog .field-error{color:#ffabab}.comments-dialog .ui-button--secondary{color:#f7f8fa;background:#30383e;border-color:#49535c}.comments-dialog :is(button,input,textarea):focus-visible{outline-offset:2px;box-shadow:none;outline:2px solid #a5d9ff}.comments-dialog .comment-composer__input:has(textarea:focus-visible){outline-offset:1px;outline:2px solid #a5d9ff}.comments-dialog .comment-composer textarea:focus-visible{box-shadow:none;outline:none}.social-shell :is(button,a):focus-visible{outline-color:var(--orange);box-shadow:none}.floating-shell,.floating-stage{color:#142b43;background:#f6fbfd;width:100%;height:100dvh;position:relative;overflow:hidden}.floating-stage{isolation:isolate;background:radial-gradient(at 100% 0,#ff5c000a,#0000 45%),radial-gradient(at 0 100%,#08a5ee12,#0000 60%),#f6fbfd}.floating-stage:before,.floating-stage:after{z-index:-1;pointer-events:none;content:"";position:absolute}.floating-stage:before{border:3vmin solid #08a5ee12;border-radius:50%;height:58%;bottom:-36%;left:-25%;right:-25%;transform:rotate(-8deg);box-shadow:0 -3vmin #08a5ee08,0 -6vmin #19c70006}.floating-stage:after{background:radial-gradient(circle at 91% 13%,#ff5c0026 0 .45vmin,#0000 .5vmin),radial-gradient(circle at 95% 26%,#19c70026 0 .6vmin,#0000 .65vmin),radial-gradient(circle at 83% 7%,#08a5ee29 0 .65vmin,#0000 .7vmin),radial-gradient(circle at 7% 62%,#19c70024 0 .45vmin,#0000 .5vmin),radial-gradient(circle at 4% 78%,#ff5c0026 0 .6vmin,#0000 .65vmin),radial-gradient(circle at 89% 72%,#08a5ee26 0 .45vmin,#0000 .5vmin);inset:0}.floating-stage:fullscreen{width:100vw;height:100vh}.floating-brand{z-index:0;opacity:.1;text-align:center;pointer-events:none;width:min(72vw,620px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.floating-brand .brand-logo,.floating-brand .brand-fallback{width:100%}.floating-brand .brand-fallback__name{font-size:clamp(3rem,9vw,8rem)}.floating-brand .eyebrow{margin:.7rem 0 0;font-size:clamp(.72rem,1.5vw,1.25rem)}.floating-welcome{text-align:center;align-content:center;justify-items:center;padding:1rem;display:grid;position:absolute;inset:0}.floating-welcome h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(1.5rem,4vw,3rem)}.floating-welcome p{color:var(--muted);margin:.5rem 0 0;font-size:clamp(.9rem,1.5vw,1.25rem)}.floating-photos{position:absolute;inset:0}.floating-photo{cursor:zoom-in;opacity:0;animation:festival-float var(--float-duration) linear both;will-change:transform, opacity;background:0 0;border:0;padding:0;display:block;position:absolute;top:0;animation-duration:var(--float-duration)!important}.floating-photo:focus-visible{outline:3px solid var(--orange);outline-offset:5px;border-radius:5px}.floating-photo__sway,.floating-photo__surface{width:100%;height:100%;display:block}.floating-photo__sway{animation:festival-sway var(--sway-duration) ease-in-out var(--sway-delay) infinite alternate;will-change:transform;animation-duration:var(--sway-duration)!important;animation-iteration-count:infinite!important}.floating-photo__surface{animation:festival-enter var(--float-duration) linear both;background:0 0;animation-duration:var(--float-duration)!important}.floating-stage[data-paused=true] .floating-photo,.floating-stage[data-paused=true] .floating-photo__sway,.floating-stage[data-paused=true] .floating-photo__surface{animation-play-state:paused!important}.floating-photo img{object-fit:contain;width:100%;height:100%;display:block}@keyframes festival-float{0%{transform:translate3d(-50%, var(--float-start), 0);opacity:0}5%,92%{opacity:1}to{transform:translate3d(-50%, var(--float-end), 0);opacity:0}}@keyframes festival-sway{0%{transform:translate3d(var(--float-drift), 0, 0) rotate(calc(-1 * var(--float-rotation))) scale(var(--float-depth))}to{transform:translate3d(calc(-1 * var(--float-drift)), 0, 0) rotate(var(--float-rotation)) scale(var(--float-depth))}}@keyframes festival-enter{0%{transform:scale(.94)}5%,to{transform:scale(1)}}.viewer__image{touch-action:pan-y pinch-zoom}.viewer__position{color:var(--muted);align-self:center;font-size:.9rem}.ui-dialog-backdrop:has(>.viewer-dialog--fullscreen){-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.viewer-dialog--fullscreen{width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));border:0;border-radius:0;flex-direction:column;margin:0;display:flex}.viewer-dialog--fullscreen .ui-dialog__heading{flex-shrink:0}.viewer-dialog--fullscreen .viewer__card{flex-direction:column;flex:1;min-height:0;display:flex}.viewer-dialog--fullscreen .viewer__image{flex:1;place-items:center;min-height:0;display:grid}.viewer-dialog--fullscreen .viewer__image img{object-fit:contain;width:100%;height:100%;min-height:0;max-height:100%}.viewer-dialog--fullscreen figcaption{flex-shrink:0;max-height:20dvh;overflow:auto}.viewer-dialog--fullscreen .viewer__navigation{flex-shrink:0}.share-photo-grid--2,.share-photo-grid--3,.share-photo-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.share-photo-grid--3,.share-photo-grid--4{grid-template-rows:repeat(2,minmax(0,1fr))}.share-photo-grid .share-photo-item img{object-fit:contain}.share-photo-number{color:#fff;background:#00284fe6;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:.5rem;left:.5rem}.share-photo-item__actions{justify-content:space-between;gap:.3rem;display:flex;position:absolute;bottom:.4rem;left:.4rem;right:.4rem}.share-photo-item__actions button{color:#fff;cursor:pointer;background:#00284fe6;border:1px solid #fff9;border-radius:.4rem;min-height:32px;padding:.3rem .5rem;font-size:.72rem}.share-photo-actions{flex-wrap:wrap}.share-photo-actions small{width:100%;color:var(--muted)}.success-photo-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.3rem;display:grid}.admin-group-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;padding:.3rem;display:grid}.admin-group-photos--1{grid-template-columns:1fr}.admin-group-photos figure{min-width:0;margin:0;position:relative}.admin-group-photos img{object-fit:contain;background:#e8edef;border-radius:.5rem;width:100%;height:170px}.admin-group-photos figcaption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem;padding:.4rem .3rem;font-size:.7rem;display:flex}.admin-group-photos footer{grid-template-columns:minmax(0,1fr) 2rem 2rem;gap:.25rem;padding:.4rem .3rem}.admin-group-photos footer button{border-radius:.4rem;place-items:center;width:2rem;padding:.4rem;display:grid}.admin-group-photos footer svg{width:1.2rem;height:1.2rem}.photo-status{text-transform:capitalize;border-radius:.25rem;padding:.15rem .3rem;font-size:.7rem;display:inline-block}.photo-status--pending{color:#9b4200;background:#fff0e8}.photo-status--approved{color:#117f00;background:#ebfae9}.photo-status--rejected{color:#a52c2c;background:#fff0f0}.success-photo-grid figure{align-content:start;gap:.35rem;margin:0;display:grid}.success-photo-grid figcaption{text-align:center;padding:.25rem}.success-photo__unavailable{aspect-ratio:4/3;color:#465970;background:#e8edef;place-items:center;font-size:.8rem;display:grid}@media (width<=699px){.admin-header{flex-direction:column;align-items:stretch}.admin-header__brand .brand-logo{width:140px}.admin-header h1{letter-spacing:0;font-size:2.35rem}.admin-header__actions{flex-wrap:wrap}.admin-header__actions .button{flex:auto}.admin-bulk{position:static}.admin-bulk>span{flex-basis:100%;font-size:.8rem;display:block}.admin-bulk button{flex-basis:100%}}.moderator-comments{margin:1.5rem 0}.moderator-comments>article{border:1px solid var(--line);background:#fff;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;margin:.7rem 0;padding:1rem;display:flex}.moderator-comments>article>div{min-width:0}.moderator-comments p{overflow-wrap:anywhere}.moderator-comments time,.moderator-comments a{color:var(--muted);margin-right:1rem;font-size:.8rem}@media (width<=640px){.social-shell{background:#fff}.has-mobile-festival-nav{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.social-header .social-header__archive,.social-header .social-upload{display:none}.mobile-festival-nav{z-index:20;height:calc(56px + env(safe-area-inset-bottom));padding:0 max(12px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px, env(safe-area-inset-left));background:#fff;border-top:1px solid #dfe5eb;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid;position:fixed;inset:auto 0 0}.mobile-festival-nav__tab{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:44px;min-height:55px;font-size:11px;text-decoration:none;display:flex}.mobile-festival-nav__tab[aria-current=page]{color:#2563eb}.mobile-festival-nav__tab svg{width:20px;height:20px}.mobile-festival-nav__camera{color:#fff;background:#0d2446;border:6px solid #fff;border-radius:50%;justify-self:center;place-items:center;width:60px;height:60px;margin-top:-16px;display:grid;box-shadow:0 3px 12px #0d244629}.mobile-festival-nav__camera svg{width:24px;height:24px}.mobile-festival-nav a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.social-header{padding:.75rem 1rem}.social-header .brand-logo,.social-header .brand-fallback{width:125px}.social-header nav{gap:.9rem}.social-feed{gap:.5rem}.social-post,.feed-skeleton__post{border:0;border-bottom:1px solid #e3e7ed;border-radius:0}.has-mobile-festival-nav .feed-skeleton__header{gap:10px;min-height:68px;padding:10px 16px}.has-mobile-festival-nav .feed-skeleton__body{padding:6px 14px 14px}.social-post__header{padding:.8rem 1rem}.social-intro{padding-top:1.4rem}.moderator-comments>article{flex-direction:column;align-items:flex-start}}.social-header .brand-logo{object-fit:contain;width:108px;max-height:68px}@media (width<=640px){.social-header .brand-logo{width:88px;max-height:54px}}.social-copy-fallback{gap:.4rem;margin:.75rem 0;font-size:.85rem;display:grid}.memory-frame{min-width:0}.memory-frame__brand{display:none}.social-photo-content{position:relative}.photo-like-burst{z-index:2;color:#fff;filter:drop-shadow(0 3px 8px #00366f55);pointer-events:none;width:76px;animation:.65s ease-out both photo-heart;position:absolute;top:45%;left:50%}.photo-like-burst svg{fill:currentColor;width:100%}@keyframes photo-heart{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}25%,70%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-65%)scale(1.15)}}.post-options{gap:8px;display:grid}.post-options button{border:1px solid var(--line);min-height:48px;color:var(--navy);background:#fff;border-radius:12px}[hidden]{display:none!important}@media (width<=640px){.mobile-festival-nav{height:calc(56px + env(safe-area-inset-bottom));padding-inline:max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right));grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:0 -3px 16px #00366f06}.mobile-festival-nav__tab{gap:3px;min-height:55px;font-size:10px;font-weight:650;transition:color .18s,background .18s}.mobile-festival-nav__tab svg{width:18px;height:18px}.mobile-festival-nav__tab[aria-current=page]{color:var(--navy)}.mobile-festival-nav__tab[aria-current=page]>svg{transform:translateY(-1px)}.mobile-festival-nav__camera{background:var(--navy);border:3px solid #fff;width:46px;height:46px;margin-top:-12px;box-shadow:0 3px 12px #00366f25}.mobile-festival-nav__camera svg{width:20px;height:20px}.mobile-festival-nav__upload{justify-content:flex-start;gap:3px}.mobile-festival-nav__upload[aria-current=page] .mobile-festival-nav__camera{box-shadow:0 0 0 2px var(--orange)}.mobile-festival-nav [aria-disabled=true]{opacity:.55;cursor:wait}.has-mobile-festival-nav{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.floating-shell--mobile-nav .floating-mobile-display{height:calc(100dvh - 76px - env(safe-area-inset-bottom))}.floating-mobile-display{flex-direction:column;display:flex;overflow:hidden}.floating-mobile-display .floating-stage{flex:1;height:auto;min-height:0}.floating-mobile-display:fullscreen{width:100vw;height:100dvh}.social-header:has(.mobile-feed-title){padding:max(10px, env(safe-area-inset-top)) 12px 10px;border-bottom:1px solid #e9edf1;gap:10px;display:flex}.social-header:has(.mobile-feed-title)>nav{display:none}.social-header:has(.mobile-feed-title) .brand-logo{width:58px;height:44px}.mobile-feed-title{flex:1;min-width:0}.mobile-feed-title h1{letter-spacing:-.025em;color:var(--navy);margin:0;font-size:15px;line-height:1.35}.mobile-feed-title p{color:#52647a;margin:3px 0 0;font-size:11px}.social-intro--compact{display:none}.social-intro--compact:has(a){padding:8px 16px;display:block}.social-intro--compact:has(a)>:not(a){display:none}.social-intro--compact>a{align-content:center;min-height:44px;margin:0}.feed-refresh-status{color:#52647a;margin:0;padding:4px 14px 10px;font-size:12px}.feed-filters{scrollbar-width:none;gap:8px;padding:10px 12px;display:flex;overflow-x:auto}.feed-filters button,.memories-tabs button{color:#465970;background:#fff;border:1px solid #e2e8ee;border-radius:999px;flex:none;min-height:44px;padding:10px 16px;font-size:12px;font-weight:650}.feed-filters button[aria-pressed=true],.memories-tabs button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}:where(.has-mobile-festival-nav) .social-post{position:relative}:where(.has-mobile-festival-nav) .social-post:has(.social-post__menu) .social-post__header{gap:10px;min-height:68px;padding:10px 58px 10px 16px}:where(.has-mobile-festival-nav) .social-post:has(.social-post__menu) .social-post__header>a{align-content:center;min-width:44px;min-height:44px;margin-left:auto}:where(.has-mobile-festival-nav) .social-post__header strong{font-size:13px}:where(.has-mobile-festival-nav) .social-post__header span{font-size:11px}:where(.has-mobile-festival-nav) .social-post__menu{width:44px;height:44px;color:var(--navy);background:0 0;border:0;padding:12px;position:absolute;top:12px;right:8px}:where(.has-mobile-festival-nav) .social-post__menu svg{width:20px;height:20px}:where(.has-mobile-festival-nav) .social-post__body{padding:6px 14px 14px}:where(.has-mobile-festival-nav) .social-post__actions{gap:4px}:where(.has-mobile-festival-nav) .social-post__actions>button{min-width:44px;min-height:44px}:where(.has-mobile-festival-nav) .social-post__actions .social-post__save{margin-left:auto}:where(.has-mobile-festival-nav) .social-post__actions .social-post__share span{display:none}:where(.has-mobile-festival-nav) .social-post:has(.social-post__save) .social-post__copy{display:none}:where(.has-mobile-festival-nav) .social-post__save.is-saved svg{fill:var(--navy)}:where(.has-mobile-festival-nav) .social-post__likes,:where(.has-mobile-festival-nav) .social-post__caption,:where(.has-mobile-festival-nav) .social-post__hashtags,:where(.has-mobile-festival-nav) .social-post__comment-preview{font-size:13px;line-height:1.5}:where(.has-mobile-festival-nav) .social-post__hashtags{flex-wrap:wrap;gap:0 8px;display:flex}:where(.has-mobile-festival-nav) .social-post__hashtags a{min-height:44px;color:var(--navy);align-items:center;text-decoration:none;display:inline-flex}:where(.has-mobile-festival-nav) .social-post__comment-preview{color:#465970;overflow-wrap:anywhere;margin:3px 0}:where(.has-mobile-festival-nav) .social-post__comments{min-height:44px}.photo-carousel{position:relative}.photo-carousel--mobile .photo-carousel__viewport{touch-action:pan-y pinch-zoom;aspect-ratio:1;overflow:clip}.photo-carousel--mobile .photo-carousel__slide{aspect-ratio:1;height:100%;max-height:none}.photo-carousel--mobile .photo-carousel__slide img{object-fit:contain;height:100%;max-height:none}.photo-carousel--mobile .photo-carousel__viewport:not([data-dragging])>.photo-carousel__slide{transition:transform .18s ease-out}.photo-carousel__badge{color:#fff;pointer-events:none;background:#142b43b8;border-radius:999px;padding:5px 9px;font-size:11px;position:absolute;top:10px;right:10px}.photo-carousel__dots{justify-content:center;min-height:44px;display:flex}.photo-carousel__dots button{background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.photo-carousel__dots span{background:#c8d3df;border-radius:50%;width:5px;height:5px}.photo-carousel__dots [aria-pressed=true] span{background:var(--navy);width:7px;height:7px}.viewer__author{margin-bottom:6px;display:block}.viewer-dialog--fullscreen .viewer__card>.memory-frame{flex-direction:column;flex:1;min-height:0;display:flex}.viewer-dialog--fullscreen .memory-frame .viewer__image{flex:1;min-height:0}.memories-shell{min-height:100dvh;padding-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));background:#f7f9fc}.memories-header{padding:max(16px, env(safe-area-inset-top)) 0 12px;align-items:center;gap:10px;display:flex}.memories-header .brand-logo{object-fit:contain;width:56px;height:46px}.memories-header>div{flex:1}.memories-header h1{color:var(--navy);margin:0;font-size:22px}.memories-header p{color:#52647a;margin:4px 0 0;font-size:12px}.memories-header .ui-button{padding:8px;font-size:12px}.memories-tabs{gap:8px;margin-bottom:12px;display:flex}.memories-filters{gap:10px;margin-bottom:16px;display:grid}.memories-filters select,.mobile-upload input:not([type=file]){width:100%;min-width:0;min-height:44px;color:var(--navy);background:#fff;border:1px solid #dbe3ec;border-radius:12px;padding:10px 12px;font-size:16px}.memories-filter-options summary{min-height:44px;color:var(--navy);cursor:pointer;background:#fff;border-radius:12px;padding:12px;font-size:13px}.memories-filter-options>div{gap:12px;padding:12px 0;display:grid}.memories-filter-options label{gap:6px;font-size:12px;display:grid}.memories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.memory-tile{text-align:left;min-width:0;color:var(--navy);background:#fff;border:0;border-radius:10px;padding:0;position:relative;overflow:hidden}.memory-tile>.memory-frame>img{object-fit:cover;border-radius:4px;width:100%;height:150px;display:block}.memory-tile__name{text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:650;display:block;overflow:hidden}.memory-tile__count{color:#fff;background:#142b43b8;border-radius:20px;padding:4px 7px;font-size:10px;position:absolute;top:10px;right:10px}.memory-skeleton{border-radius:12px;height:190px}.memories-more{width:100%;margin-top:16px}.mobile-upload{padding:max(12px, env(safe-area-inset-top)) 12px calc(96px + env(safe-area-inset-bottom));background:#f7f9fc}.mobile-upload .share-modal-page__wash{display:none}.mobile-upload .share-composer{border:0;border-radius:16px;width:100%;margin:0;padding:16px;box-shadow:0 2px 20px #00366f06}.mobile-upload .share-composer__header .brand-logo{object-fit:contain;width:76px;height:54px}.mobile-upload .share-composer__intro{margin:14px 0}.mobile-upload .share-composer__intro h1{letter-spacing:-.035em;font-size:26px;line-height:1.1}.mobile-upload .share-composer__intro .eyebrow,.mobile-upload .sharing-as{display:none}.mobile-upload .share-composer__intro>p{margin:8px 0;font-size:13px}.mobile-upload .share-composer__grid{grid-template-columns:1fr;gap:16px;display:grid}.upload-steps{grid-template-columns:repeat(4,1fr);margin:0 0 16px;padding:0;list-style:none;display:grid}.upload-steps button{color:#52647a;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;width:100%;min-height:60px;font-size:10px;display:flex}.upload-steps button>span{background:#edf2f6;border-radius:50%;place-items:center;width:27px;height:27px;font-weight:750;display:grid}.upload-steps [aria-current=step]{color:var(--navy);font-weight:750}.upload-steps [aria-current=step] span{background:var(--navy);color:#fff}.mobile-upload .share-photo-preview{min-height:210px}.mobile-upload .share-photo-grid{grid-template-rows:none;gap:8px;height:auto}.mobile-upload .share-photo-item>img{aspect-ratio:4/3;height:auto;display:block}.mobile-upload .share-photo-item__actions{background:#f1f5f9;grid-template-columns:repeat(2,1fr);gap:2px;padding:4px;display:grid;position:static}.mobile-upload .share-photo-item__actions button{min-width:44px;min-height:44px;color:var(--navy);background:#fff;border:0;border-radius:6px;font-size:10px}.mobile-upload .share-details-column{gap:12px}.upload-template-section h2,.upload-preview-section h2{color:var(--navy);margin:0 0 14px;font-size:18px}.upload-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.upload-template-grid>button{min-width:0;color:var(--navy);background:#f7f9fc;border:2px solid #e3eaf1;border-radius:12px;padding:8px;transition:border-color .18s,box-shadow .18s}.upload-template-grid [aria-pressed=true]{border-color:var(--navy);box-shadow:0 0 0 2px #00366f12}.upload-template-grid .memory-frame>img{object-fit:cover;width:100%;height:96px;display:block}.upload-template-grid>button>span{padding:8px 0 0;font-size:11px;font-weight:650;display:block}.upload-preview-photos{scroll-snap-type:x mandatory;gap:10px;display:flex;overflow-x:auto}.upload-preview-photos>.memory-frame{scroll-snap-align:start;flex:0 0 100%}.upload-preview-photos>.memory-frame>img{object-fit:contain;width:100%;max-height:320px;display:block}.upload-preview-section p{font-size:13px;line-height:1.5}.upload-preview-swipe-hint{color:var(--navy);text-align:center;margin:10px 0;font-weight:650}.upload-preview-tags{color:var(--navy)}.upload-step-actions{flex-wrap:wrap;gap:10px;display:flex}.upload-step-actions>.ui-button{flex:1}.upload-step-actions .ui-notice,.upload-step-actions .ui-progress,.upload-step-actions>p{flex-basis:100%;width:100%}.mobile-upload .category-grid{grid-template-columns:1fr}.floating-stage--mobile .floating-brand{opacity:.08}.floating-stage--mobile .floating-photo,.floating-stage--mobile .floating-photo__surface{animation-delay:var(--float-delay,0s)}.floating-mobile-header{z-index:4;background:#fff;border-bottom:1px solid #e2eaf2;border-radius:20px 20px 0 0;flex:none;position:relative;overflow:hidden}.floating-mobile-header__brand{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.floating-mobile-header__identity{flex:210px;align-items:center;gap:10px;min-width:0;display:flex}.floating-mobile-header__brand .brand-logo,.floating-mobile-header__brand .brand-fallback{object-fit:contain;flex:0 0 58px;width:58px;height:44px}.floating-mobile-status{color:#52647a;white-space:nowrap;background:#f1f4f7;border-radius:999px;flex:none;align-items:center;gap:7px;margin-left:auto;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.floating-mobile-status>span{background:currentColor;border-radius:50%;width:8px;height:8px}.floating-mobile-status.is-live{color:#147847;background:#eff9f3}.floating-mobile-status.is-live>span{background:#2bbf73;box-shadow:0 0 0 4px #2bbf7312}.floating-mobile-header__pause:focus-visible{z-index:5;min-height:44px;color:var(--navy);background:#fff;border-radius:8px;top:8px;left:12px;clip:auto!important;border:2px solid var(--navy)!important;width:auto!important;height:auto!important;padding:8px 14px!important}.floating-mobile-header__error{color:#52647a;margin:0;padding:8px 12px;font-size:12px}.calm-wall{flex-direction:column;gap:12px;display:flex;position:absolute;inset:12px;overflow-y:auto}.calm-wall__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.calm-wall__grid>button{min-width:0;color:var(--navy);text-align:left;background:0 0;border:0;padding:0}.calm-wall__grid .memory-frame>img{object-fit:contain;width:100%;height:120px;display:block}.calm-wall__grid span,.calm-wall__grid small{text-overflow:ellipsis;white-space:nowrap;padding:4px 0 0;font-size:11px;display:block;overflow:hidden}.calm-wall__controls{justify-content:space-between;align-items:center;display:flex}.calm-wall button:not(.calm-wall__grid button){min-height:44px;color:var(--navy);background:#fff;border:1px solid #dbe5ed;border-radius:12px;padding:8px 12px}.success-shell h1{font-size:28px}}@media (prefers-reduced-motion:reduce){.photo-like-burst{animation:none;transform:translate(-50%,-50%)}.mobile-festival-nav *,.upload-template-grid *{transition:none}}.social-copy-fallback input{border:1px solid var(--line);border-radius:.5rem;width:100%;min-width:0;padding:.6rem}.comments-dialog .photo-comment__content{flex:1}.comments-dialog .photo-comment--reply{margin-left:2rem}.comments-dialog .photo-comment--reply .social-avatar{flex:0 0 32px;width:32px;height:32px}.comments-dialog .comment-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.comments-dialog .comment-actions button,.comments-dialog .comment-replies{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.3rem .5rem}.comments-dialog .comment-actions button.is-hearted{color:#ffabab}.comments-dialog .comment-actions button:disabled{opacity:.65;cursor:default}.comments-dialog .comment-actions button span:first-child{font-size:1.15rem}.comments-dialog .comment-report-confirm{color:#f7f8fa;background:#242a2f;border:1px solid #49535c;border-radius:.6rem;flex-wrap:wrap;flex-basis:100%;gap:.5rem;padding:.65rem;font-size:.85rem;display:flex}.comment-report-confirm>span{flex-basis:100%}.comments-dialog .comment-report-confirm>button{font:inherit;padding-inline:.75rem;font-weight:650}.comments-dialog .comment-report-confirm>button:first-of-type{color:#181c1f;background:#a5d9ff}.comments-dialog .comment-report-confirm>button:last-of-type{color:#f7f8fa;background:#30383e}.comments-dialog .comment-report-message{color:#a5d9ff;margin:0;padding:.5rem 1rem;font-size:.85rem}.comments-dialog .comment-report-message[role=alert]{color:#ffabab}.comments-dialog .comment-replies{color:#a5d9ff;margin-left:2.5rem}.comments-dialog .comment-recipient,.comments-dialog .comment-sending,.comments-dialog .comment-removed{color:var(--muted);font-size:.75rem}.comments-dialog .comment-sending{margin-left:.75rem}.comments-dialog .comment-replying{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.comments-dialog .comment-replying button{min-width:44px;min-height:44px;color:inherit;background:0 0;border:0;font-size:1.4rem}.social-header nav{flex-wrap:wrap;justify-content:flex-end}.social-header .moderator-back{padding:.6rem .8rem}.floating-stage>.moderator-back{z-index:20;background:#fff;max-width:calc(100% - 2rem);position:absolute;top:1rem;right:1rem;box-shadow:0 2px 12px #142b4320}.moderator-feed__toolbar{gap:1rem;width:min(600px,100% - 2rem);margin:0 auto 1.5rem;display:grid}.moderator-feed__toolbar h2,.moderator-feed__toolbar p,.moderator-feed__actions p{margin:0}.moderator-feed__toolbar nav{flex-wrap:wrap;gap:.65rem;display:flex}.moderator-feed__toolbar button[aria-pressed=true]{background:var(--navy);color:#fff}.moderator-feed__post{background:#fff;border:1px solid #dfe5eb;border-radius:18px;overflow:hidden}.moderator-feed__post .social-post{border:0;border-radius:0}.moderator-feed__actions{border-top:1px solid #dfe5eb;gap:.75rem;padding:1rem;display:grid}.moderator-feed__actions button{white-space:normal}@media (width<=640px){.social-header nav{gap:.5rem}.social-header .moderator-back{font-size:.75rem}.moderator-feed__post{border-radius:0}}.nickname-dialog{border-radius:1.5rem;width:min(430px,100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}.nickname-dialog .ui-dialog__heading h2{font-size:clamp(1.15rem,5vw,1.55rem)}.nickname-current{overflow-wrap:anywhere;color:var(--muted)}.nickname-current strong,.comment-identity strong,.upload-nickname-row strong{white-space:pre-wrap}.nickname-candidate{border:1px solid var(--line);text-align:center;background:linear-gradient(140deg,#edf8ff,#f4fbea);border-radius:1.25rem;justify-items:center;gap:.65rem;margin:1.25rem 0;padding:1.5rem .75rem;display:grid}.nickname-fish{font-size:2.75rem;line-height:1}.nickname-candidate strong{max-width:100%;color:var(--navy);overflow-wrap:anywhere;font-size:clamp(1.3rem,6vw,1.8rem);animation:.2s ease-out nickname-shuffle}.nickname-actions{gap:.65rem;display:grid}.nickname-actions button{width:100%;min-height:48px}.nickname-dialog>.field-help{text-align:center}.festival-nickname-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;min-height:44px;padding:0;font-size:1.35rem;display:inline-grid}.festival-avatar{flex-shrink:0;place-items:center;line-height:1;display:inline-grid}.festival-avatar img{object-fit:contain;max-width:100%;max-height:100%;display:block}.nickname-candidate .nickname-fish{width:72px;height:72px}.festival-icon-picker{border:0;min-width:0;margin:0 0 1rem;padding:0}.festival-icon-picker legend{color:var(--navy);margin-bottom:.65rem;font-weight:700}.festival-icon-picker>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.festival-icon-picker button{border:2px solid var(--line);min-width:0;min-height:82px;color:var(--navy);font:inherit;cursor:pointer;background:#fff;border-radius:12px;place-items:center;gap:5px;padding:6px 2px;font-size:10px;display:grid}.festival-icon-picker button[aria-pressed=true]{border-color:var(--blue);background:#edf8ff}.festival-icon-picker button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.festival-icon-picker .festival-avatar{width:52px;height:52px;font-size:28px}.memory-frame.memory-frame--artwork{min-width:0;box-shadow:none;border:0;border-radius:0;background:0 0!important;padding:0!important}.memory-frame__stage{width:100%;aspect-ratio:var(--frame-ratio);isolation:isolate;position:relative}.memory-frame__artwork-content{inset:var(--art-top) var(--art-right) var(--art-bottom) var(--art-left);min-width:0;min-height:0;position:absolute}.memory-frame__stage>.memory-frame__overlay{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:0;margin:0;display:block;position:absolute;inset:0;object-fit:contain!important;width:100%!important;height:100%!important;max-height:none!important}.memory-frame__overlay>img{display:block;object-fit:contain!important;background:0 0!important;border-radius:0!important;width:100%!important;height:100%!important;max-height:none!important;margin:0!important}.memory-frame__artwork-content>img{object-fit:cover;width:100%;height:100%;max-height:100%;clip-path:var(--art-clip);display:block}.memory-frame__artwork-content>.viewer__image{width:100%;height:100%;clip-path:var(--art-clip)}.memory-frame__artwork-content .viewer__image img{object-fit:cover;width:100%;height:100%;max-height:100%;display:block}.memory-frame__artwork-content .photo-carousel__viewport{aspect-ratio:auto;height:100%;min-height:0;clip-path:var(--art-clip)}.memory-frame__artwork-content .photo-carousel__slide{aspect-ratio:auto;height:100%;max-height:none}.memory-frame__artwork-content .photo-carousel__slide img{object-fit:cover;width:100%;height:100%;max-height:none}.viewer-dialog:has(.memory-frame--artwork){flex-direction:column;display:flex}.viewer-dialog:not(.viewer-dialog--fullscreen):has(.memory-frame--artwork){height:calc(100svh - 2rem)}.viewer-dialog:has(.memory-frame--artwork) .ui-dialog__heading{flex-shrink:0}.viewer-dialog:has(.memory-frame--artwork) .viewer__card{flex-direction:column;flex:1;min-height:0;display:flex}.viewer-dialog:has(.memory-frame--artwork) figcaption{flex-shrink:0;max-height:20svh;overflow:auto}.viewer-dialog:has(.memory-frame--artwork) .viewer__navigation{flex-shrink:0}.viewer-dialog .viewer__card>.memory-frame--artwork{flex:1;place-items:center;min-height:0;display:grid;container-type:size}.viewer-dialog .memory-frame--artwork .memory-frame__stage{width:min(100cqw, calc(100cqh * var(--frame-ratio)))}.upload-template-grid .memory-frame--artwork{width:min(100%, calc(180px * var(--frame-ratio)));margin-inline:auto}.upload-preview-photos .memory-frame--artwork .memory-frame__stage{width:min(100%, calc(420px * var(--frame-ratio)));margin-inline:auto}.floating-photo__memory{place-items:center;width:100%;height:100%;display:grid}.floating-photo__memory>img{height:100%!important}.floating-photo__memory .memory-frame__stage{width:100%}.floating-photo__memory .memory-frame__artwork-content>img{object-fit:cover;width:100%;height:100%;margin:0}.memory-frame.memory-frame--artwork.wall-frame{background:0 0!important}.memory-tile .memory-frame--artwork{max-width:100%}@media (width>=641px){.share-photo-column .upload-template-section{margin-top:24px}.share-photo-column .upload-template-section h2{color:var(--navy);font-size:18px}.share-photo-column .upload-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.share-photo-column .upload-template-grid>button{border:2px solid var(--line);min-width:0;color:var(--navy);cursor:pointer;background:#fff;border-radius:12px;padding:8px}.share-photo-column .upload-template-grid [aria-pressed=true]{border-color:var(--blue);background:#edf8ff}.share-photo-column .upload-template-grid .memory-frame{place-items:center;height:120px;display:grid}.share-photo-column .upload-template-grid .memory-frame__stage{width:min(100%, calc(120px * var(--frame-ratio)))}.share-photo-column .upload-template-grid .memory-frame>img{object-fit:contain;width:100%;height:100%;max-height:120px}.share-photo-column .upload-template-grid>button>span{padding-top:8px;font-size:11px;display:block}}.upload-template-grid>button.upload-template-artwork{background:0 0;border-color:#0000}.upload-template-grid>button.upload-template-artwork[aria-pressed=true]{border-color:var(--navy);background:0 0}.comment-identity{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.comment-identity p{overflow-wrap:anywhere;min-width:0}.comment-identity>button{min-height:44px;color:var(--blue);cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.35rem .65rem;font-weight:700}.upload-nickname-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.upload-nickname-row>div{min-width:0}.upload-nickname-row strong{color:var(--navy);overflow-wrap:anywhere;display:block}@keyframes nickname-shuffle{0%{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.nickname-candidate strong{animation:none}}@media (width<=640px){.social-header:has(.mobile-feed-title)>nav:has(.festival-nickname-button){flex:0 0 44px;display:flex}.social-header:has(.mobile-feed-title)>nav:has(.festival-nickname-button)>a{display:none}.social-header:has(.mobile-feed-title) .mobile-feed-title{flex:1;min-width:0}}.comments-dialog .comment-identity>button{color:#8ccff9}.moderator-badge,.comments-dialog .moderator-badge,.comments-dialog .comment-identity .moderator-badge{color:#604000;vertical-align:middle;white-space:nowrap;background:#fff0bf;border:1px solid #c89a32;border-radius:999px;align-items:center;gap:.3em;padding:.15em .5em;font-size:.75rem;font-weight:800;line-height:1.5;display:inline-flex}.moderator-badge svg{flex:none;width:1em;height:1em}.moderator-avatar,.comments-dialog .moderator-avatar{color:#604000;background:#fff0bf;border:1px solid #c89a32}.moderator-avatar svg{width:22px;height:22px}.moderator-badge+.comment-recipient{margin-left:.25rem}.comments-dialog .comment-form>a{color:#8ccff9;align-items:center;min-height:44px;display:inline-flex}.sharing-as strong{white-space:pre-wrap}.nickname-change-limit{color:var(--muted);margin:.75rem 0;font-size:.8rem;line-height:1.5}.festival-icon-picker:disabled button{cursor:default}.viewer__card:has(>.wall-frame){background:0 0;border-radius:0}.viewer__card>.wall-frame .viewer__image img{background:0 0}.social-post__category{color:var(--muted);margin:.35rem 0;font-size:.8rem}.admin-dashboard{color:var(--navy);background:#f5f8fb}.admin-dashboard .admin-header{align-items:center;gap:1.25rem;margin-bottom:1.5rem}.admin-dashboard .admin-header__brand{flex-direction:row;align-items:center;gap:.85rem}.admin-dashboard .admin-header__brand .brand-logo{width:95px}.admin-dashboard .admin-header__brand p{color:var(--muted);margin:0 0 .2rem;font-size:.75rem}.admin-dashboard .admin-header h1{font-family:var(--font-sans);letter-spacing:-.025em;font-size:clamp(1.15rem,2.2vw,1.65rem);line-height:1.2}.admin-main-nav{border:1px solid var(--line);background:#fff;border-radius:.85rem;align-items:center;gap:.25rem;padding:.3rem;display:flex}.admin-main-nav>button,.moderator-menu>summary{min-height:44px;color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.6rem;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .8rem;font-size:.875rem;font-weight:700;list-style:none;display:flex}.admin-main-nav>button[aria-pressed=true]{color:var(--blue);background:#e6f3fc}.moderator-menu{position:relative}.moderator-menu>summary::-webkit-details-marker{display:none}.moderator-menu[open]>summary,.moderator-menu>summary:hover{color:var(--blue);background:#edf5fa}.moderator-menu__items{z-index:65;border:1px solid var(--line);background:#fff;border-radius:.75rem;min-width:195px;max-width:min(310px,85vw);padding:.4rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 10px 35px #13354a24}.moderator-menu__items>a,.moderator-menu__items>button{min-height:44px;color:var(--navy);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.45rem;padding:.7rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.moderator-menu__items>a:hover,.moderator-menu__items>button:hover{background:#edf5fa}.moderator-menu__items>button:disabled{color:#516477;cursor:not-allowed;background:#edf2f6}.moderator-menu__items>button.is-delete:enabled{color:#ac2828}.moderator-menu__items>button.is-delete:enabled:hover{background:#fff0f0}.moderator-account{border-bottom:1px solid var(--line);overflow-wrap:anywhere;gap:.3rem;margin:0;padding:.65rem .75rem .85rem;display:grid}.moderator-account small{color:var(--muted)}.moderator-account strong{font-size:.85rem}.admin-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;max-width:1440px;margin:0 auto 1.25rem;display:grid}.admin-overview>div{background:#fff;border:1px solid #dbe6ed;border-radius:.85rem;gap:.2rem;padding:.95rem 1.15rem;display:grid}.admin-overview span{color:var(--muted);font-size:.8rem;font-weight:650}.admin-overview strong{color:var(--blue);font-variant-numeric:tabular-nums;font-size:1.75rem;line-height:1.25}.admin-overview small{color:var(--muted);font-size:.72rem}.admin-overview>div:first-child{background:#fffaf5}.admin-overview>div:first-child strong{color:var(--orange)}.admin-overview>div:last-child strong{color:var(--green)}.admin-workspace-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;max-width:1440px;margin:0 auto 1rem;display:flex}.admin-dashboard .admin-tabs{gap:.2rem;margin:0;overflow:visible}.admin-dashboard .admin-tabs button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:.5rem .5rem 0 0;padding:.7rem .95rem;font-size:.875rem}.admin-dashboard .admin-tabs .is-active{color:var(--blue);box-shadow:inset 0 -3px var(--blue);background:#e5f2fc}.admin-tools{flex-wrap:wrap;align-items:center;gap:.75rem;max-width:1440px;margin:0 auto 1rem;display:flex}.admin-tools form{background:#fff;border:1px solid #bccedc;border-radius:.65rem;align-items:center;gap:.25rem;width:min(100%,410px);padding:.15rem .3rem .15rem .75rem;display:flex}.admin-tools input[type=search]{width:100%;min-width:0;min-height:40px;color:var(--navy);font:inherit;background:0 0;border:0;font-size:.85rem}.admin-tools form button{min-width:40px;min-height:40px;color:var(--blue);cursor:pointer;background:0 0;border:0;border-radius:.4rem;place-items:center;padding:.35rem;display:grid}.admin-tools>label,.admin-wall-help label{color:var(--muted);align-items:center;gap:.45rem;font-size:.8rem;display:flex}.admin-tools select,.admin-wall-help select{max-width:100%;min-height:44px;color:var(--navy);font:inherit;background:#fff;border:1px solid #bccedc;border-radius:.6rem;padding:.5rem .6rem}.admin-tools .admin-select-all{min-height:44px;margin-left:auto}.admin-dashboard input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.admin-wall-help{max-width:1440px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto 1rem;font-size:.8rem;display:flex}.admin-wall-help p{flex:1;min-width:min(100%,240px);margin:0}.admin-wall-help label{flex-wrap:wrap}.admin-dashboard .admin-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:start}.admin-dashboard .admin-card{border-radius:.85rem;overflow:visible;box-shadow:0 2px 8px #17324a05}.admin-dashboard .admin-card__body{gap:.45rem;padding:.9rem}.admin-card__author{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;display:flex}.admin-dashboard .admin-card__author>strong{color:var(--navy);font-size:.9rem}.admin-card__author time{color:var(--muted);font-size:.7rem}.admin-hashtag{color:var(--blue);overflow-wrap:anywhere;font-size:.78rem}.admin-dashboard .admin-card__body>p{overflow-wrap:anywhere;margin:0;font-size:.875rem;font-weight:400}.admin-dashboard .admin-card__body>small{font-size:.7rem}.admin-photo{border-top:1px solid var(--line);min-width:0}.admin-photo__expand{cursor:zoom-in;background:#eaf0f5;border:0;width:100%;padding:0;display:block;position:relative}.admin-photo__expand img{aspect-ratio:4/3;object-fit:contain;width:100%;height:auto;display:block}.admin-photo__expand>span{color:var(--navy);background:#ffffffed;border:1px solid #c8d7e0;border-radius:.4rem;padding:.3rem .5rem;font-size:.7rem;font-weight:600;position:absolute;bottom:.5rem;right:.5rem}.admin-photo__status{flex-wrap:wrap;gap:.3rem;padding:.6rem .75rem;display:flex}.admin-photo__status>span{color:#465b6d;background:#edf2f6;border-radius:.3rem;padding:.25rem .4rem;font-size:.65rem;font-weight:650}.admin-photo__status .photo-status--approved{color:#24692a;background:#e8f6e8}.admin-photo__status .photo-status--pending{color:#934100;background:#fff0e3}.admin-photo__status .photo-status--rejected{color:#a62424;background:#ffebeb}.admin-photo__status .admin-badge--live{color:#006397;background:#e2f2ff}.admin-photo__status .admin-badge--featured{color:#725500;background:#fff4cf}.admin-dashboard .admin-group-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid}.admin-dashboard .admin-group-photos--1{grid-template-columns:1fr}.admin-dashboard .admin-group-photos .admin-photo+.admin-photo{border-left:1px solid var(--line)}.admin-dashboard .admin-card footer{justify-content:space-between;align-items:center;gap:.4rem;min-height:50px;padding:.4rem .7rem;display:flex}.admin-dashboard .admin-card footer label{flex:1;min-height:44px}.admin-dashboard .admin-card footer>button{min-width:44px;height:auto;min-height:44px;padding:.5rem .8rem;font-size:.8rem}.admin-photo__expiry,.admin-photo__unavailable{color:var(--muted);padding:0 .75rem .5rem;font-size:.7rem;display:block}.admin-dashboard .admin-bulk{margin-top:0}.admin-dashboard .admin-bulk strong{margin-right:auto;font-size:.85rem}.admin-dashboard .admin-bulk button{min-height:44px;font-size:.8rem}.admin-dashboard .admin-bulk .admin-bulk__clear{color:#fff;background:0 0;text-decoration:underline}.admin-dashboard .admin-empty{background:#ffffff80;border:1px dashed #cad8e3;border-radius:.85rem;max-width:1440px;min-height:220px;margin:0 auto;padding:2rem 1rem}.admin-dashboard .admin-empty .ui-icon{width:28px;height:28px;color:var(--blue);margin:0 auto .65rem}.admin-dashboard .admin-empty h2,.admin-dashboard .admin-empty h3{font-family:var(--font-sans);letter-spacing:0;margin:0;font-size:1rem;line-height:1.5}.admin-dashboard .admin-empty p{margin:.5rem 0 0;font-size:.85rem}.admin-toast{z-index:75;align-items:center;gap:.75rem;max-width:min(540px,100vw - 2rem);margin:0;font-size:.875rem;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 6px 28px #13354a22}.admin-toast>span{flex:1}.admin-toast>button{min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.4rem;padding:.3rem;font-weight:700}.admin-dashboard .admin-card--skeleton{gap:.75rem;padding:1rem}.admin-card--skeleton .ui-skeleton{height:15px}.admin-card--skeleton .admin-skeleton-photo{aspect-ratio:4/3;height:auto}.admin-photo-dialog{width:min(95vw,900px)}.admin-photo-dialog>img{object-fit:contain;max-width:100%;max-height:70svh;margin:0 auto;display:block}.admin-dashboard .moderator-comments{max-width:1440px;margin:0 auto;display:block}.admin-section-title h2{margin:0;font-size:1.2rem}.admin-section-title p,.admin-retention-note{color:var(--muted);margin:.5rem 0 1rem;font-size:.85rem}.admin-dashboard .moderator-comments .admin-tabs{border-bottom:1px solid var(--line);margin-bottom:1rem}.moderator-comment-list{gap:.8rem;display:grid}.admin-dashboard .moderator-comments .moderator-comment-card{border:1px solid var(--line);background:#fff;border-radius:.85rem;grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:1rem;padding:1rem;display:grid}.moderator-comment-card__content{min-width:0}.moderator-comment-card__meta{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.moderator-comment-card time,.moderator-comment-card small{color:var(--muted);font-size:.75rem}.moderator-comment-card p{overflow-wrap:anywhere;margin:.5rem 0;font-size:.875rem}.moderator-comment-card blockquote{background:#f5f8fb;border-left:3px solid #bbd4e7;border-radius:.3rem;margin:.6rem 0;padding:.5rem .75rem}.moderator-comment-card blockquote p{margin-bottom:0}.moderator-comment-card__actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.moderator-comment-context{background:#f4f8fb;border-radius:.6rem;align-items:flex-start;gap:.65rem;padding:.7rem;display:flex}.moderator-comment-context img{object-fit:cover;border-radius:.4rem;flex-shrink:0;width:60px;height:70px}.moderator-comment-context a{color:var(--blue);font-size:.8rem;font-weight:700}.admin-report-count{color:#934100;background:#fff0e3;border-radius:.3rem;padding:.2rem .4rem;font-size:.7rem}.admin-comments-loading{gap:.75rem;display:grid}.admin-comments-loading .ui-skeleton{height:130px}@media (width<=850px){.admin-dashboard .admin-header{flex-direction:column;align-items:stretch}.admin-main-nav{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-main-nav>button,.admin-main-nav .moderator-menu>summary{padding:.65rem .3rem;font-size:.8rem}.admin-main-nav .moderator-menu:nth-last-child(2) .moderator-menu__items{right:-.25rem}}@media (width<=599px){.admin-dashboard{padding:1rem .75rem}.admin-dashboard .admin-header{margin-bottom:1rem}.admin-dashboard .admin-header__brand .brand-logo{width:80px}.admin-overview{gap:.4rem}.admin-overview>div{padding:.75rem .6rem}.admin-overview span{font-size:.7rem}.admin-overview strong{font-size:1.5rem}.admin-overview small{font-size:.65rem;line-height:1.3}.admin-tools form{width:100%}.admin-tools .admin-select-all{margin-left:0}.admin-dashboard .admin-tabs button{padding:.7rem .75rem;font-size:.8rem}.admin-workspace-bar>.admin-live-status__connection{padding:.35rem;font-size:.65rem}.admin-dashboard .admin-group-photos{grid-template-columns:1fr}.admin-dashboard .admin-group-photos .admin-photo+.admin-photo{border-left:0}.admin-dashboard .moderator-comments .moderator-comment-card{grid-template-columns:1fr;gap:.75rem}.admin-dashboard .admin-bulk{gap:.4rem;padding:.6rem;top:.25rem}.admin-dashboard .admin-bulk button{padding:.45rem .6rem}.admin-main-nav .moderator-menu__items{min-width:170px}.admin-workspace-bar{flex-wrap:wrap}.admin-workspace-bar>.admin-live-status__connection{margin:0 0 .4rem auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
