:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#eee9df;--canvas-accent:#d8e3dc;--canvas-warm:#ead8c2;--canvas-glow:#2f5d502e;--ambient-spot-one:#2397706b;--ambient-spot-two:#e897466b;--ambient-spot-three:#895bae4d;--ink:#1b2420;--muted:#56625c;--brand:#2f5d50;--brand-hover:#3c7464;--focus-ring:#2f5d50;--glass-subtle:#fffdf894;--glass-interactive:#ffffffad;--glass-interactive-hover:#ffffffdb;--glass-strong:#fffdf8e6;--glass-elevated:#fffdf8;--glass-subtle-solid:#f7f3ea;--glass-interactive-solid:#fbf8f1;--glass-strong-solid:#fffdf8;--glass-elevated-solid:#fffdf8;--glass-border:#364a4129;--glass-border-strong:#364a4142;--control-border:#63736b;--glass-highlight:#ffffffc7;--glass-shadow-soft:0 10px 30px #2d37311a;--glass-shadow-strong:0 22px 64px #262f2a2e;--glass-selected:#2f5d5024;--overlay-mask:#1e262261;--media-stage:#0b0d0c;--media-stage-soft:#141715;--media-text:#f7f3ea;--media-control:#05060594;--media-overlay:#000c;--gallery-stage:transparent;--glass-blur-subtle:16px;--glass-blur-strong:24px;--glass-blur-control:10px;--surface-radius:18px;--surface-radius-large:24px;--bg:var(--canvas);--bg-accent:var(--canvas-accent);--panel:var(--glass-strong);--photo-stage:var(--media-stage)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#111613;--canvas-accent:#1b2922;--canvas-warm:#30271d;--canvas-glow:#c4a57424;--ambient-spot-one:#239d7e57;--ambient-spot-two:#dea75166;--ambient-spot-three:#975bae47;--ink:#f4f1e9;--muted:#b6beb8;--brand:#c4a574;--brand-hover:#d2b98f;--focus-ring:#d7bc91;--glass-subtle:#1f2824a8;--glass-interactive:#26302bb8;--glass-interactive-hover:#313d37d1;--glass-strong:#181f1ce6;--glass-elevated:#181f1c;--glass-subtle-solid:#202923;--glass-interactive-solid:#26302b;--glass-strong-solid:#181f1c;--glass-elevated-solid:#181f1c;--glass-border:#efe8d929;--glass-border-strong:#efe8d93d;--control-border:#94a19a;--glass-highlight:#fff9eb1f;--glass-shadow-soft:0 12px 34px #00000047;--glass-shadow-strong:0 24px 72px #00000070;--glass-selected:#c4a57433;--overlay-mask:#040706b8}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:radial-gradient(1100px 640px at 4% -8%, var(--canvas-accent), transparent 58%), radial-gradient(900px 620px at 102% 2%, var(--canvas-glow), transparent 54%), radial-gradient(820px 560px at 55% 112%, var(--canvas-warm), transparent 60%), var(--canvas);margin:0;font-family:"Source Sans 3",Segoe UI,sans-serif}html{height:100%}body{min-height:100dvh}a{color:inherit}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 72%, transparent);outline-offset:3px}.page-shell{height:100dvh;min-height:100dvh;overflow-x:clip;background:0 0!important}.page-shell.yearbook-shell{isolation:isolate;height:auto;position:relative}.yearbook-shell:before,.yearbook-shell:after{z-index:-1;content:"";pointer-events:none;transition:opacity .24s;display:block;position:fixed}.yearbook-shell:before{background:radial-gradient(ellipse 34% 28% at 12% 18%, var(--ambient-spot-one), transparent 72%), radial-gradient(ellipse 30% 34% at 88% 26%, var(--ambient-spot-two), transparent 74%), radial-gradient(ellipse 38% 28% at 54% 78%, var(--ambient-spot-three), transparent 74%);filter:blur(10px)saturate(118%);opacity:1;inset:64px 0 0}.yearbook-shell:after{aspect-ratio:1;background:radial-gradient(circle, var(--ambient-spot-one), transparent 68%);filter:blur(34px)saturate(120%);opacity:.62;border-radius:50%;width:min(54vw,760px);bottom:-18vh;right:-12vw}html[data-ambient-glow=off] .yearbook-shell:before,html[data-ambient-glow=off] .yearbook-shell:after{opacity:0}.page-shell.photos-shell{height:auto;min-height:100dvh}.app-header{--ant-layout-header-padding:0 24px;-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(138%);backdrop-filter:blur(var(--glass-blur-strong)) saturate(138%);border-bottom:1px solid var(--glass-border-strong);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-soft);justify-content:space-between;align-items:center;gap:16px;padding-inline:24px;display:flex;background:var(--glass-strong)!important}.header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.header-menu{flex-shrink:0;display:inline-flex;position:relative}.menu-notification-badges{pointer-events:none;gap:2px;display:flex;position:absolute;top:-9px;right:-7px}.pending-review-badge,.review-notification-badge{border:2px solid var(--glass-elevated);background:var(--brand);min-width:21px;height:21px;color:var(--glass-elevated);font-variant-numeric:tabular-nums;border-radius:12px;justify-content:center;align-items:center;gap:2px;padding-inline:5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.review-outcome-approved{color:#255342;background:#dcece1}.review-outcome-rejected{color:#8d302e;background:#f9e2dd}html[data-theme=dark] .review-outcome-approved{color:#bce5cb;background:#244536}html[data-theme=dark] .review-outcome-rejected{color:#ffc5bf;background:#582f2e}.review-outcome-labels{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.review-outcome-labels>span{border-radius:8px;align-items:center;gap:4px;padding:3px 7px;font-size:12px;display:inline-flex}.pending-review-description{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ambience-setting{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:20px;width:100%;margin-top:8px;padding:12px 0 2px;display:flex}.ambience-setting>div{flex-direction:column;gap:2px;display:flex}.primary-navigation{align-items:center;gap:4px;display:flex}.primary-navigation a{display:inline-flex}.header-identity{white-space:nowrap}.brand{white-space:nowrap;align-items:center;gap:8px;text-decoration:none;display:inline-flex;color:var(--brand)!important;font-family:Fraunces,Georgia,serif!important;font-size:1.35rem!important}.brand-icon{font-size:32px;display:inline-flex}.page-shell.guest-shell{height:auto;min-height:100dvh}.guest-shell .app-header{flex:none}.guest-content{padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));justify-content:center;align-items:stretch;display:flex}.guest-shell .guest-hero{border:1px solid var(--glass-border);border-radius:var(--surface-radius-large);background:var(--glass-subtle);width:100%;min-width:0;max-width:880px;-webkit-backdrop-filter:blur(var(--glass-blur-subtle)) saturate(128%);backdrop-filter:blur(var(--glass-blur-subtle)) saturate(128%);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-soft);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(40px,7vw,88px);display:flex}.guest-brand{overflow-wrap:anywhere;color:var(--ink)!important;margin-bottom:12px!important;font-family:Fraunces,Georgia,serif!important;font-size:clamp(2.8rem,8vw,5rem)!important;line-height:1.05!important}.guest-lead{color:var(--muted);max-width:34rem;font-size:1.15rem;margin-bottom:28px!important}.main-content{flex-direction:column;flex:1;min-height:0;padding:24px clamp(16px,4vw,48px);display:flex}.filter-bar .ant-form-item,.active-filter-pills{margin-bottom:16px}.active-filter-pills .ant-tag{border-radius:999px;margin-inline-end:0;padding-inline:8px}.photos-content{gap:16px;min-height:0}.photos-shell>.app-header{z-index:40;position:sticky;top:0}.photo-subheader{top:var(--photo-header-height,64px);z-index:30;border-bottom:1px solid var(--glass-border-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(138%);backdrop-filter:blur(var(--glass-blur-strong)) saturate(138%);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-soft);flex-direction:column;gap:0;margin:-24px calc(-1*clamp(16px,4vw,48px)) 0;padding:7px clamp(16px,4vw,48px);animation:.22s ease-out both photo-subheader-enter;display:flex;position:sticky}@keyframes photo-subheader-enter{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.photo-subheader-primary{justify-content:space-between;align-items:center;gap:16px;display:flex}.photo-subheader-primary h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden;margin:0!important;font-family:Fraunces,Georgia,serif!important;font-size:22px!important}.photo-subheader-actions{flex:none;align-items:center;gap:10px;display:flex}.photo-collection-trigger{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.photo-collection-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.photo-collection-trigger>.anticon{flex:none;font-size:12px}.photo-collection-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:6px}.photo-subheader-actions .ant-btn{min-height:44px}.ant-dropdown .photo-order-menu.ant-dropdown-menu{border-radius:20px;padding:10px}.ant-dropdown .photo-order-menu.ant-dropdown-menu .ant-dropdown-menu-item{border-radius:10px}.photo-control-panel{overscroll-behavior:contain;flex-direction:column;width:min(440px,100vw - 48px);max-height:calc(100dvh - 32px);display:flex;overflow:hidden}.photo-collections,.collection-section,.collection-list{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.photo-collections{gap:16px}.collection-list .ant-btn{white-space:normal;text-align:left;justify-content:flex-start;height:auto;min-height:44px}.collection-list .ant-btn>span{overflow-wrap:anywhere}.photo-active-filters:has(>.active-filter-pills){margin-top:8px}.photo-active-filters>.active-filter-pills{margin:0}.compact-filter-pills{flex:0 0 32px;align-items:center;gap:6px;min-width:0;height:32px;display:flex;position:relative}.photo-filter-pill{border:1px solid var(--control-border);background:var(--glass-interactive);max-width:min(260px,65vw);height:30px;color:var(--ink);border-radius:16px;flex:none;align-items:center;padding-left:8px;font-size:13px;display:inline-flex}.photo-filter-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-filter-pill button,.photo-filter-close{width:30px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;padding:0;display:inline-flex}.photo-filter-pill button:focus-visible{outline:2px solid var(--brand)}.photo-filter-more{white-space:nowrap;flex:none;padding:4px 8px;font-size:14px}.photo-filter-measure{visibility:hidden;pointer-events:none;contain:layout;gap:6px;width:max-content;display:flex;position:absolute;top:0;left:0}.photo-filter-overflow{flex-direction:column;gap:8px;padding:2px;display:flex}.photo-filter-overflow .photo-filter-pill{max-width:100%;height:auto;min-height:32px}.photo-filter-overflow .photo-filter-label{white-space:normal;overflow-wrap:anywhere}.photo-filter-overflow .photo-filter-pill button{margin-left:auto}:where(.ant-btn-default,.ant-btn-dashed),:where(.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker),.ant-select .ant-select-selector,.ant-radio-button-wrapper,.ant-segmented,.ant-tag{-webkit-backdrop-filter:blur(var(--glass-blur-control)) saturate(125%);backdrop-filter:blur(var(--glass-blur-control)) saturate(125%);border-color:var(--control-border)!important;background:var(--glass-interactive)!important}:where(.ant-btn-default,.ant-btn-dashed):hover,:where(.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker):hover,.ant-select:hover .ant-select-selector,.ant-radio-button-wrapper:hover,.ant-tag:hover{background:var(--glass-interactive-hover)!important}.ant-segmented-item-selected{background:var(--glass-interactive-hover)!important;box-shadow:inset 0 0 0 1px var(--glass-border-strong)!important}.ant-btn-primary{border-color:color-mix(in srgb, var(--brand) 76%, var(--control-border))!important}.ant-btn:focus-visible,.ant-input:focus-visible,.ant-input-affix-wrapper:focus-within,.ant-input-number:focus-within,.ant-select-focused .ant-select-selector,.ant-radio-button-wrapper:focus-within,.ant-segmented:focus-within,:is(button,input,select,textarea,[role=button],[role=combobox]):focus,:is(button,input,select,textarea,[role=button],[role=combobox]):focus-visible,.ant-picker:focus-within,.ant-select:focus-within{box-shadow:none!important;outline:none!important}.ant-btn:disabled,.ant-input:disabled,.ant-input-affix-wrapper-disabled,.ant-input-affix-wrapper.ant-input-disabled,.ant-input-number-disabled,.ant-select.ant-select-disabled,.ant-select-disabled .ant-select-selector{cursor:not-allowed;border-style:solid!important;border-color:var(--glass-border-strong)!important;background:var(--glass-subtle-solid)!important;color:var(--muted)!important}.ant-input-affix-wrapper:has(input:disabled){cursor:not-allowed;border-style:solid!important;border-color:var(--glass-border-strong)!important;background:var(--glass-subtle-solid)!important;color:var(--muted)!important}.ant-input-affix-wrapper-disabled>input.ant-input:disabled,.ant-input-affix-wrapper.ant-input-disabled>input.ant-input:disabled,.ant-input-affix-wrapper input:disabled{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}.ant-input:disabled::placeholder,.ant-input-number-disabled input,.ant-select-disabled .ant-select-selection-item{-webkit-text-fill-color:var(--muted);opacity:1;color:var(--muted)!important}.ant-card,.ant-result,.ant-table-wrapper .ant-table,.ant-collapse{-webkit-backdrop-filter:blur(var(--glass-blur-subtle)) saturate(125%);backdrop-filter:blur(var(--glass-blur-subtle)) saturate(125%);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-soft);border:1px solid var(--glass-border)!important;background:var(--glass-subtle)!important}.ant-card,.ant-result,.ant-collapse,.ant-table-wrapper .ant-table-container{border-radius:var(--surface-radius)!important}.ant-card-head,.ant-card-actions,.ant-table-thead>tr>th,.ant-table-tbody>tr>td,.ant-collapse>.ant-collapse-item{border-color:var(--glass-border)!important}.ant-card-head,.ant-card-actions,.ant-table-thead>tr>th,.ant-table-tbody>tr.ant-table-row:hover>td,.ant-collapse-header{background:color-mix(in srgb, var(--glass-subtle) 78%, transparent)!important}.ant-tabs-nav:before{border-color:var(--glass-border)!important}.ant-modal-mask,.ant-drawer-mask{background:var(--overlay-mask);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ant-select-dropdown{box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-strong);overflow:hidden;border:1px solid var(--glass-border-strong)!important;background:var(--glass-elevated)!important}.ant-select-dropdown .ant-select-item,.ant-select-dropdown .ant-empty-description{color:var(--ink)!important}.ant-select-dropdown .ant-select-item-option-active{background:var(--glass-interactive-hover)!important}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:var(--glass-selected)!important;color:var(--ink)!important}.ant-select-dropdown .ant-select-item-option-state{color:var(--brand)!important}.ant-select-dropdown .ant-select-item-option-disabled{color:var(--muted)!important}.ant-drawer .ant-drawer-content,.ant-modal:not(.slideshow-modal) .ant-modal-container{border:1px solid var(--glass-border-strong);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(138%);backdrop-filter:blur(var(--glass-blur-strong)) saturate(138%);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-strong);background:var(--glass-strong)!important}.ant-drawer .ant-drawer-header,.ant-drawer .ant-drawer-footer,.ant-modal:not(.slideshow-modal) .ant-modal-header,.ant-modal:not(.slideshow-modal) .ant-modal-footer{border-color:var(--glass-border)!important;background:0 0!important}.ant-modal:not(.slideshow-modal) .ant-modal-container{overflow:clip;border-radius:var(--surface-radius-large)!important}.ant-modal.ant-modal-confirm .ant-modal-confirm-body{grid-template-columns:max-content minmax(0,1fr);gap:8px 12px;display:grid}.ant-modal.ant-modal-confirm .ant-modal-confirm-body>.anticon{margin-inline-end:0}.ant-modal.ant-modal-confirm .ant-modal-confirm-paragraph{display:contents}.ant-modal.ant-modal-confirm .ant-modal-confirm-title{grid-column:2;min-width:0}.ant-modal.ant-modal-confirm .ant-modal-confirm-content{grid-column:1/-1;min-width:0}.ant-modal.ant-modal-confirm .ant-modal-confirm-body-no-icon .ant-modal-confirm-title,.ant-modal.ant-modal-confirm .ant-modal-confirm-body-no-icon .ant-modal-confirm-content{grid-column:1/-1}.ant-modal.ant-modal-confirm .ant-modal-confirm-body:not(.ant-modal-confirm-body-has-title):not(.ant-modal-confirm-body-no-icon) .ant-modal-confirm-content{grid-column:2}.ant-drawer .ant-drawer-content-wrapper{padding:0}.ant-drawer .ant-drawer-content{border-radius:var(--surface-radius-large);border:0;overflow:hidden}.photo-gallery-stage{--photo-gallery-height:max(240px, calc(100dvh - var(--photo-chrome-height,163px)));flex:1 0 var(--photo-gallery-height);height:var(--photo-gallery-height);width:100%;min-width:0;min-height:var(--photo-gallery-height);border-radius:var(--surface-radius-large);background:var(--gallery-stage);box-shadow:var(--glass-shadow-strong);border:1px solid #ffffff17;display:flex;position:relative;overflow:hidden}.gallery-wrap{flex:1;width:100%;min-width:0;max-width:1200px;min-height:0;margin-inline:auto;display:flex;position:relative}.gallery-loading-more,.slideshow-loading-more{z-index:4;color:var(--media-text);background:var(--media-control);white-space:nowrap;pointer-events:none;border-radius:999px;padding:6px 12px;font-size:.8rem;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hero-swiper{--hero-slide-gap:24px;--hero-navigation-size:44px;--swiper-navigation-size:var(--hero-navigation-size);--swiper-navigation-color:var(--brand);border-radius:4px;width:100%;min-width:0;height:100%;overflow:hidden}.hero-swiper .swiper-button-prev,.hero-swiper .swiper-button-next,.slideshow-swiper .swiper-button-prev,.slideshow-swiper .swiper-button-next{width:var(--hero-navigation-size);height:var(--hero-navigation-size);margin-top:calc(var(--hero-navigation-size) / -2);color:var(--brand);transition:color .16s ease-out,opacity .16s ease-out}.hero-swiper .swiper-button-prev:hover,.hero-swiper .swiper-button-next:hover,.slideshow-swiper .swiper-button-prev:hover,.slideshow-swiper .swiper-button-next:hover{color:var(--brand-hover)}.hero-swiper .swiper-button-prev:focus-visible,.hero-swiper .swiper-button-next:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 72%, transparent);outline-offset:2px}.hero-swiper .swiper-button-disabled,.slideshow-swiper .swiper-button-disabled{color:var(--brand);opacity:.42}.ant-btn,.ant-btn:hover,.ant-btn:active,.ant-btn:disabled,.ant-btn-loading{box-shadow:none!important}.hero-slide{background:var(--gallery-stage);cursor:zoom-in;width:100%;height:100%;color:var(--media-text);border:0;place-items:center;padding:0;display:grid;position:relative}.hero-slide:focus-visible{outline-offset:-5px;outline:3px solid #f7f3ead1}.hero-image-frame{max-width:100%;max-height:100%;display:inline-block;position:relative}.hero-image-frame img{width:auto;max-width:100%;height:auto;max-height:calc(var(--photo-gallery-height) - 2px);object-fit:contain;background:var(--gallery-stage);filter:none;mix-blend-mode:normal;display:block}.hero-meta{color:var(--media-text);background:linear-gradient(transparent, var(--media-overlay));justify-content:space-between;gap:12px;padding:14px 18px;font-size:.95rem;display:flex;position:absolute;bottom:0;left:0;right:0}.slideshow-shell{background:var(--photo-stage);height:100dvh;position:relative;overflow:hidden}.slideshow-viewport{min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}.slideshow-swiper{--hero-navigation-size:44px;--swiper-navigation-size:44px;--swiper-navigation-color:var(--brand);width:100%;height:100%}.slideshow-swiper .swiper-slide{min-width:0;min-height:0}.slideshow-img{object-fit:contain;background:var(--media-stage);filter:none;mix-blend-mode:normal;width:100%;height:100%;display:block}.slideshow-modal.ant-modal{--ant-modal-content-padding:0;max-width:none;height:100dvh;margin:0;padding-bottom:0;width:100vw!important}.slideshow-modal .ant-modal-container,.slideshow-modal .ant-modal-body{height:100%;overflow:hidden}.slideshow-close{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:44px;min-height:44px;top:16px;right:16px;color:var(--media-text)!important;background:var(--media-control)!important;border:1px solid #ffffff3d!important;position:absolute!important}.slideshow-browser-fullscreen{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:44px;min-height:44px;top:16px;right:68px;color:var(--media-text)!important;background:var(--media-control)!important;border:1px solid #ffffff3d!important;position:absolute!important}.slideshow-settings{gap:16px;display:grid}.slideshow-setting-toggle{justify-content:space-between;align-items:center;gap:12px;display:flex}.slideshow-interval-label{gap:8px;display:grid}.slideshow-enabled .slideshow-feedback,.slideshow-enabled .slideshow-loading-more{bottom:calc(76px + env(safe-area-inset-bottom))}.slideshow-controls{bottom:calc(12px + env(safe-area-inset-bottom));z-index:6;opacity:0;pointer-events:none;justify-content:center;align-items:center;gap:8px;min-height:52px;transition:opacity .18s;display:flex;position:absolute;inset-inline:12px}.slideshow-controls.is-visible{opacity:1;pointer-events:auto}.slideshow-controls .ant-btn,.slideshow-feedback .ant-btn{min-width:44px;min-height:44px}.slideshow-controls>.ant-btn,.slideshow-feedback .ant-btn{-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--media-text)!important;background:#1b211e!important;border-color:#fff6!important}.slideshow-controls>.ant-btn:hover,.slideshow-feedback .ant-btn:hover{background:#303932!important}.slideshow-controls>.ant-btn:disabled{color:#aeb7b1!important;border-color:#66736b!important}.slideshow-controls .ant-input-number{min-height:44px}.slideshow-controls .ant-input-number-input{min-height:42px}.slideshow-controls .ant-btn:focus-visible,.slideshow-close:focus-visible,.slideshow-browser-fullscreen:focus-visible,.slideshow-feedback .ant-btn:focus-visible{outline-offset:3px;outline:2px solid var(--media-text)!important}.slideshow-controls .ant-popover .ant-btn:focus-visible,.slideshow-controls .ant-input-number:focus-within{outline-offset:2px;outline:2px solid var(--focus-ring)!important}.slideshow-feedback{z-index:5;inset-inline:16px;background:var(--media-control);width:fit-content;max-width:calc(100% - 32px);color:var(--media-text);border-radius:12px;align-items:center;gap:12px;margin-inline:auto;padding:12px;display:flex;position:absolute;bottom:16px}@media (prefers-reduced-motion:reduce){.slideshow-controls{transition:none}}@media (min-width:768px){.photo-gallery-stage{border-inline:0;border-radius:0;width:100vw;margin-inline:calc(50% - 50vw)}.gallery-wrap{width:100vw;max-width:none;margin-inline:calc(50% - 50vw)}.hero-swiper{--hero-active-half-width:min(480px, calc(50vw - 48px));--swiper-navigation-sides-offset:max(10px, calc(50% - var(--hero-active-half-width) - (var(--hero-slide-gap) + var(--hero-navigation-size)) / 2 - var(--hero-active-half-width) / 34));border-radius:0}.hero-swiper .swiper-slide{width:min(960px,100vw - 96px)}.hero-swiper .hero-slide{transition:filter .18s ease-out,opacity .18s ease-out,transform .18s ease-out}.hero-swiper .swiper-slide:not(.swiper-slide-active) .hero-slide{opacity:.55;filter:blur(2px);transform:scale(.94)}.hero-swiper .swiper-slide-active .hero-slide{opacity:1;filter:none;transform:scale(1)}}@media (max-width:767px){.app-header{--ant-layout-header-padding:0 16px;-webkit-backdrop-filter:blur(14px)saturate(125%);backdrop-filter:blur(14px)saturate(125%);gap:8px;padding-inline:16px}.header-actions{flex:1;gap:4px;min-width:0}.primary-navigation{gap:0}.primary-nav-label{display:none}.brand{font-size:1.1rem!important}.brand-name{display:none}.brand-icon{font-size:32px}.header-identity{text-align:right;text-overflow:ellipsis;flex:1;order:-1;min-width:0;overflow:hidden}.logout-button>span{display:none}.hero-swiper .swiper-slide{width:100%!important}.photo-subheader{-webkit-backdrop-filter:blur(14px)saturate(125%);backdrop-filter:blur(14px)saturate(125%);padding-block:7px}.photo-subheader-primary{gap:8px}.photo-subheader-primary h1{font-size:20px!important}.photo-subheader-actions{gap:6px}.photo-subheader-actions .ant-btn{gap:4px;padding-inline:8px}.photo-subheader-actions .photo-filters-trigger{width:44px;padding:0}.photo-order-prefix,.photo-filters-label{display:none!important}.compact-filter-pills{flex-basis:auto;height:auto;min-height:32px}.photo-filter-pill{max-width:var(--filter-pill-max-width,min(260px, 65vw));height:auto;min-height:32px;padding-block:3px}.photo-filter-label{white-space:normal;overflow-wrap:anywhere;min-width:0}.ant-drawer .photo-control-panel{width:100%}.guest-content{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.guest-shell .guest-hero{-webkit-backdrop-filter:blur(12px)saturate(120%);backdrop-filter:blur(12px)saturate(120%);padding:36px 24px}.ant-drawer .ant-drawer-content,.ant-modal:not(.slideshow-modal) .ant-modal-container,.ant-select-dropdown,.ant-card,.ant-result,.ant-table-wrapper .ant-table,.ant-collapse,:where(.ant-btn-default,.ant-btn-dashed),:where(.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker),.ant-select .ant-select-selector,.ant-radio-button-wrapper,.ant-segmented,.ant-tag{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.yearbook-shell:before,.yearbook-shell:after{transition:none}.photo-subheader{animation:none}.hero-swiper .hero-slide{transition:none}.person-card,.ant-btn,.ant-card{scroll-behavior:auto;transition:none!important}.yearbook .person-card:hover,.yearbook .person-card:focus-visible,.yearbook .person-card:active{transform:none}}@media (prefers-reduced-transparency:reduce){:root{--glass-subtle:var(--glass-subtle-solid);--glass-interactive:var(--glass-interactive-solid);--glass-interactive-hover:var(--glass-strong-solid);--glass-strong:var(--glass-strong-solid);--glass-elevated:var(--glass-elevated-solid)}.app-header,.yearbook .yearbook-heading,.yearbook .person-card,.photo-subheader,.guest-shell .guest-hero,.ant-card,.ant-result,.ant-table-wrapper .ant-table,.ant-collapse,.ant-drawer .ant-drawer-content,.ant-modal:not(.slideshow-modal) .ant-modal-container,.ant-select-dropdown{-webkit-backdrop-filter:none;backdrop-filter:none}}@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.app-header,.photo-subheader,.guest-shell .guest-hero,.ant-card,.ant-result,.ant-table-wrapper .ant-table,.ant-collapse{background:var(--glass-subtle-solid)!important}.ant-drawer .ant-drawer-content,.ant-modal:not(.slideshow-modal) .ant-modal-container,.ant-select-dropdown{background:var(--glass-strong-solid)!important}:where(.ant-btn-default,.ant-btn-dashed),:where(.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker),.ant-select .ant-select-selector,.ant-radio-button-wrapper,.ant-segmented,.ant-tag{background:var(--glass-interactive-solid)!important}}.center-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.center-screen>.ant-card,.center-screen>.ant-result{width:min(100%,520px)}.center-block{place-items:center;padding:48px;display:grid}.yearbook{align-items:start;gap:28px;width:100%;margin:0;display:grid}.yearbook-heading,.yearbook-selection,.gallery-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.yearbook-heading{border:1px solid var(--glass-border);border-radius:var(--surface-radius);background:var(--glass-subtle);-webkit-backdrop-filter:blur(var(--glass-blur-subtle)) saturate(125%);backdrop-filter:blur(var(--glass-blur-subtle)) saturate(125%);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-soft);margin:0;padding:16px;display:block}.yearbook-heading h1{margin:0!important;font-family:Fraunces,Georgia,serif!important;font-size:1.8rem!important;line-height:1.15!important}.yearbook-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;display:grid}.yearbook-section{margin:0}.yearbook-section h2,.yearbook-teachers h2{margin:0 0 16px!important;font-family:Fraunces,Georgia,serif!important;font-size:1.6rem!important;line-height:1.2!important}.yearbook-side{gap:16px;min-width:0;display:grid}.yearbook-teachers h2{margin-bottom:0!important}.yearbook-students{gap:32px;min-width:0;display:grid}.yearbook .person-card{width:100%;min-width:0}.yearbook-grid .person-card{max-width:180px}.person-card-caption{overflow-wrap:anywhere;gap:6px;min-width:0;display:grid}.yearbook .person-card-enlarged{gap:14px;padding:12px}.person-card-enlarged .person-card-caption{align-content:start;min-height:6.5rem}.person-card-enlarged strong{font-size:1.15rem;line-height:1.35}.person-card-enlarged small{font-size:.85rem;line-height:1.4}.person-card-enlarged .person-initials{font-size:3rem}.person-card-self{font-weight:600}.person-card-with-avatar{border:1px solid var(--glass-border);border-radius:var(--surface-radius);background:var(--glass-subtle);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-soft);overflow:hidden}.person-card-with-avatar>.person-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0}.person-card-with-avatar>.person-card:hover,.person-card-with-avatar>.person-card:focus-visible,.person-card-with-avatar>.person-card:active{transform:none}.person-card-with-avatar>.person-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.person-card-avatar-action{padding:0 12px 12px}.self-avatar-trigger.ant-btn{white-space:normal;width:100%;height:auto;min-height:44px}.self-avatar-picker{justify-items:start;gap:16px;min-width:0;display:grid}.self-avatar-picker p{color:var(--muted);margin:0}.self-avatar-modal .ant-btn{min-height:44px}.self-avatar-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.self-avatar-file:focus-visible+.ant-btn{outline:3px solid var(--focus-ring);outline-offset:2px}.self-avatar-filename{overflow-wrap:anywhere;max-width:100%}.self-avatar-preview{object-fit:contain;background:var(--media-stage-soft);border-radius:12px;width:100%;max-height:320px}@media (min-width:1280px){.yearbook{grid-template-columns:clamp(260px,17vw,320px) minmax(0,1fr) clamp(260px,17vw,320px);grid-template-areas:"personal students teachers";gap:32px}.yearbook-without-teacher{grid-template-columns:clamp(260px,17vw,320px) minmax(0,1fr);grid-template-areas:"personal students"}.yearbook-personal{grid-area:personal}.yearbook-students{grid-area:students}.yearbook-teachers{grid-area:teachers}.yearbook-side{top:24px}.yearbook-side[data-sticky=true]{position:sticky}}@media (max-width:1279px){.yearbook .person-card-enlarged{grid-template-columns:minmax(0,120px) minmax(0,1fr);align-items:center;gap:16px;display:grid}.person-card-enlarged>img,.person-card-enlarged>.person-initials{min-width:0}}.person-card{border:1px solid var(--glass-border);border-radius:var(--surface-radius);color:var(--ink);background:var(--glass-subtle);-webkit-backdrop-filter:blur(var(--glass-blur-subtle)) saturate(125%);backdrop-filter:blur(var(--glass-blur-subtle)) saturate(125%);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-soft);text-align:left;cursor:pointer;flex-direction:column;gap:8px;padding:10px;transition:transform .18s,border-color .18s,background .18s;display:flex;position:relative;overflow:hidden}.person-card:after{border-radius:inherit;background:linear-gradient(145deg, var(--glass-highlight), transparent 38%);content:"";opacity:.44;pointer-events:none;position:absolute;inset:0}.person-card img{aspect-ratio:3/4;object-fit:cover;background:var(--media-stage-soft);filter:none;mix-blend-mode:normal;border-radius:12px;width:100%}.person-card:hover,.person-card:focus-visible,.person-card.selected{border-color:var(--brand);background:var(--glass-interactive-hover);transform:translateY(-3px)}.person-card:active{transform:translateY(-1px)}.person-card small{color:var(--muted)}.person-initials{aspect-ratio:3/4;border:1px solid var(--glass-border);width:100%;color:var(--brand);background:radial-gradient(circle at 30% 20%, var(--glass-highlight), transparent 44%), var(--glass-selected);border-radius:12px;place-items:center;font-family:Fraunces,Georgia,serif;font-size:2rem;display:none}.person-initials.visible{display:grid}.yearbook-selection{padding:14px 0}.yearbook-person-dialog{place-items:center;min-height:280px;display:grid}.yearbook-person-dialog img{object-fit:contain;filter:none;mix-blend-mode:normal;background:0 0;border-radius:14px;width:auto;max-width:min(100%,360px);height:auto;max-height:62dvh;display:block}.yearbook-person-dialog .person-initials{width:min(100%,280px)}.yearbook-list{flex-wrap:wrap;gap:4px;display:flex}.page-shell.admin-shell{--glass-subtle:var(--glass-subtle-solid);--glass-interactive:var(--glass-interactive-solid);--glass-interactive-hover:var(--glass-strong-solid);--glass-strong:var(--glass-strong-solid);height:auto}.admin-shell,.admin-shell *,.admin-shell :before,.admin-shell :after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.admin-content>.ant-space:first-child{border:1px solid var(--glass-border);border-radius:var(--surface-radius);background:var(--glass-subtle);-webkit-backdrop-filter:blur(var(--glass-blur-subtle));backdrop-filter:blur(var(--glass-blur-subtle));padding:12px 16px}.admin-photo-thumbnail,.admin-suggestion-photo,.admin-photo-preview{background:var(--media-stage);filter:none;mix-blend-mode:normal;border-radius:12px;display:block}.admin-photo-thumbnail{object-fit:cover;width:72px;height:72px}.admin-suggestion-photo{object-fit:contain;width:280px;max-width:100%;max-height:360px}.admin-review-tab{align-items:center;gap:8px;display:inline-flex}.admin-photo-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-photo-filters .ant-input-search{width:260px}.admin-photo-filters>.ant-select{width:220px}.admin-photo-data{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:8px;display:flex}.admin-photo-secondary{color:var(--muted);font-size:12px}.admin-inline-tags{min-width:0}.admin-inline-tag-buttons{flex-wrap:wrap;gap:6px;display:flex}.admin-inline-tag{border:1px solid var(--glass-border);background:var(--glass-subtle);max-width:100%;color:var(--ink);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;border-radius:8px;align-items:baseline;gap:4px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.admin-inline-tag[aria-pressed=true]{border-color:var(--brand);background:var(--glass-selected)}.admin-inline-tag:hover{border-color:var(--brand)}.admin-inline-tag:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.admin-inline-tag:disabled{cursor:default;opacity:.55}.admin-inline-tag-check{flex:0 0 12px}.admin-inline-tag-status{min-height:20px;color:var(--muted);font-size:12px}.admin-inline-tag-error{overflow-wrap:anywhere;flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.admin-inline-tag-error>span{width:100%}.admin-photo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-photo-table .ant-table-cell{vertical-align:top}.admin-library-thumbnail{background:var(--media-stage);border-radius:12px;width:220px;max-width:100%;height:150px;position:relative;overflow:hidden}.admin-library-thumbnail>img{object-fit:contain;width:100%;height:100%;display:block}.admin-thumbnail-open{cursor:zoom-in;border-radius:inherit;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.admin-thumbnail-open:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}.admin-thumbnail-loading{color:var(--media-text);pointer-events:none;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.admin-thumbnail-error{z-index:1;color:var(--media-text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex;position:absolute;inset:0}.admin-photo-cards{gap:16px;min-height:100px;display:grid}.admin-photo-card{background:var(--glass-subtle);border:1px solid var(--glass-border);border-radius:16px;flex-direction:column;gap:16px;min-width:0;padding:16px;display:flex}.admin-photo-metadata{overscroll-behavior:contain;scrollbar-gutter:stable;min-width:0;min-height:0;padding:0 6px 0 2px;overflow-y:auto}.admin-photo-viewer .marks-photo{height:100%}@media (max-width:767px){.admin-photo-filters{align-items:stretch}.admin-photo-filters .ant-input-search,.admin-photo-filters>.ant-select{width:100%}.admin-photo-card .admin-library-thumbnail{width:100%;height:200px}.admin-photo-card .admin-photo-actions .ant-btn{min-height:40px}.admin-photo-card .admin-inline-tag{min-height:36px}}.admin-photo-preview{object-fit:contain;width:100%;max-height:360px}.photo-marks-modal.ant-modal{max-width:calc(100vw - 32px);padding-bottom:0}.photo-marks-modal.ant-modal .ant-modal-container{height:min(820px, calc(var(--marks-viewport-height,100dvh) - 32px));flex-direction:column;padding:24px;display:flex}.photo-marks-modal .ant-modal-header{flex:none;margin-bottom:18px;padding-right:32px}.photo-marks-modal .ant-modal-body{flex:1;min-height:0;overflow:hidden}.photo-marks-modal .ant-modal-footer{flex:none;margin-top:18px}.marks-editor{grid-template-columns:minmax(0,1fr) 360px;gap:24px;height:100%;min-height:0;display:grid}.marks-photo{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.marks-photo-stage{background:var(--media-stage);outline-offset:-4px;border-radius:12px;flex:1;min-height:0;position:relative;overflow:hidden}.marks-photo-stage:focus-visible{outline:2px solid var(--brand)}.marks-photo-stage.is-zoomed{cursor:grab;touch-action:none}.marks-photo-stage.is-dragging{cursor:grabbing}.marks-photo-image{object-fit:contain;-webkit-user-select:none;user-select:none;filter:none;mix-blend-mode:normal;width:100%;height:100%;display:block}.marks-photo-loading,.marks-photo-error{color:var(--media-text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;font-size:13px;display:flex;position:absolute;inset:0}.marks-photo-loading{pointer-events:none}.marks-photo-error{z-index:1;background:var(--media-stage)}.marks-photo-controls{flex:none;justify-content:center;align-items:center;gap:8px;display:flex}.marks-photo-controls .ant-btn{min-height:36px}.marks-photo-scale{text-align:center;font-variant-numeric:tabular-nums;min-width:44px;color:var(--muted);font-size:13px}.replacement-editor{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex;overflow-y:auto}.replacement-images{flex:1;grid-template-columns:minmax(0,1fr);gap:16px;min-height:180px;display:grid}.replacement-images.has-candidate{grid-template-columns:repeat(2,minmax(0,1fr))}.replacement-panel{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.replacement-caption{overflow-wrap:anywhere;flex-direction:column;flex:none;gap:4px;font-size:13px;display:flex}.replacement-caption span{color:var(--muted);font-size:12px}.replacement-panel .marks-photo-stage{min-height:100px}.replacement-loading{justify-content:center;align-items:center;gap:12px;display:flex}.replacement-tools{flex-direction:column;flex:none;gap:10px;display:flex}.replacement-tools .marks-photo-controls{flex-wrap:wrap}.replacement-file-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.replacement-hint{color:var(--muted);margin:0;font-size:12px}@media (max-width:767px){.replacement-images.has-candidate{grid-template-rows:repeat(2,minmax(140px,1fr));grid-template-columns:minmax(0,1fr);min-height:360px}.replacement-tools .ant-btn{padding-inline:10px;font-size:12px}}.marks-people{flex-direction:column;min-width:0;min-height:0;display:flex}.marks-people-tools{flex:none;padding-bottom:12px}.marks-people-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.marks-people-summary .ant-checkbox-wrapper{font-size:13px}.marks-people-list{overscroll-behavior:contain;scrollbar-gutter:stable;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);flex:1;min-height:0;padding:6px 4px 6px 0;overflow-y:auto}.marks-person{cursor:pointer;border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:10px 12px;font-size:14px;display:flex}.marks-person:hover{background:var(--glass-interactive)}.marks-person.is-selected{background:var(--glass-subtle)}.marks-person:focus-within{outline:2px solid var(--brand);outline-offset:-2px}.marks-person.is-disabled{cursor:default;opacity:.6}.marks-person input{width:18px;height:18px;accent-color:var(--brand);cursor:inherit;flex:none;margin:0}.marks-person-identity{overflow-wrap:anywhere;flex-direction:column;gap:2px;display:flex}.marks-person-identity small{color:var(--muted);font-size:11px}.marks-people-hint{color:var(--muted);flex:none;margin:10px 0 0;font-size:12px;line-height:1.4}.marks-empty{text-align:center;color:var(--muted);padding:24px 12px}.marks-footer .ant-alert{text-align:left;margin-bottom:12px}.marks-footer-actions{justify-content:flex-end;gap:8px;display:flex}.marks-footer-actions .ant-btn{min-height:40px}@media (max-width:767px){.photo-marks-modal.ant-modal{max-width:calc(100vw - 16px);margin:0 auto}.photo-marks-modal.ant-modal .ant-modal-container{height:calc(var(--marks-viewport-height,100dvh) - 16px);padding:16px}.photo-marks-modal .ant-modal-header{margin-bottom:12px}.photo-marks-modal .ant-modal-footer{margin-top:12px}.marks-editor{grid-template-rows:minmax(80px,34%) minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:12px}.marks-photo,.marks-photo-controls{gap:6px}.marks-photo-controls .ant-btn{min-height:32px;padding-inline:10px;font-size:12px}.marks-photo-controls .ant-btn[aria-label]{width:32px;padding-inline:0}.marks-photo-scale{min-width:36px}.marks-people-tools{padding-bottom:8px}.marks-people-summary{margin-top:8px}.marks-people-hint{margin-top:6px;font-size:11px}.marks-footer-actions .ant-btn{font-size:13px}.photo-marks-modal.is-short .marks-editor{grid-template-rows:64px minmax(0,1fr);gap:8px}.admin-photo-modal.is-short:not(.admin-photo-viewer) .marks-editor{grid-template-rows:112px minmax(0,1fr)}.photo-marks-modal.is-short .marks-photo-controls .ant-btn{height:32px}.photo-marks-modal.is-short .ant-modal-header{margin-bottom:8px}.photo-marks-modal.is-short .ant-modal-footer{margin-top:8px}.photo-marks-modal.is-short .marks-footer .ant-alert{margin-bottom:8px;padding:8px 12px;font-size:12px;line-height:16px}}@media (max-height:500px) and (min-width:600px){.marks-editor{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(260px,42%);gap:16px}.admin-photo-modal.is-short .marks-editor{grid-template-rows:minmax(0,1fr)}.photo-marks-modal.ant-modal .ant-modal-container{padding:12px 16px}.photo-marks-modal .ant-modal-header,.photo-marks-modal .ant-modal-footer{margin-block:6px}.marks-people-hint{font-size:11px}}@media (min-width:768px){.main-content.yearbook-content{padding-inline:24px}}@media (max-width:767px){.yearbook-heading{-webkit-backdrop-filter:none;backdrop-filter:none;padding:14px}.yearbook-heading h1{font-size:1.8rem!important}.yearbook-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.yearbook-grid .person-card{max-width:none}.person-card{-webkit-backdrop-filter:none;backdrop-filter:none}.yearbook-selection{border:1px solid var(--glass-border-strong);border-radius:var(--surface-radius);background:var(--glass-strong);box-shadow:var(--glass-shadow-soft);padding:10px;position:sticky;bottom:8px}}.suggestion-review-navigation{margin-bottom:20px}.suggestion-review-layout{grid-template-columns:minmax(0,3fr) minmax(300px,2fr);align-items:start;gap:24px;display:grid}.suggestion-review-photo{object-fit:contain;border-radius:var(--surface-radius-large);background:var(--media-stage);width:100%;max-height:75dvh;position:sticky;top:20px}.suggestion-review-people{gap:16px;min-width:0;display:grid}.suggestion-review-people .ant-card-head-title{white-space:normal}@media (max-width:767px){.suggestion-review-layout{grid-template-columns:minmax(0,1fr);gap:16px}.suggestion-review-photo{max-height:55dvh;position:static}}.page-shell.self-tagging-shell{height:auto;min-height:100dvh}.self-tagging-page{width:100%;min-width:0;max-width:1440px;margin:0 auto;padding:24px clamp(12px,3vw,40px) 100px}.self-tagging-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.self-tagging-heading h1{margin:0;font-size:clamp(26px,4vw,42px)}.self-eyebrow{text-transform:uppercase;letter-spacing:.12em;opacity:.6;font-size:11px}.self-event-group{margin-top:32px}.self-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.self-event-card,.self-photo-card{border:1px solid color-mix(in srgb, currentColor 15%, transparent);border-radius:14px;overflow:hidden}.self-event-cover,.self-photo-open{cursor:zoom-in;background:#141414;border:0;width:100%;padding:0;display:block}.self-event-cover{cursor:pointer}.self-event-cover img{object-fit:contain;width:100%;height:190px;display:block}.self-event-info{padding:18px}.self-event-info h3{margin:0;font-size:20px}.self-event-info p,.self-grid-hint{opacity:.7;font-size:13px}.self-grid-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px 0;display:flex}.self-photo-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.self-photo-grid.is-large{grid-template-columns:repeat(3,minmax(0,1fr))}.self-photo-open img{aspect-ratio:4/3;object-fit:contain;width:100%;height:auto;display:block}.self-photo-choice{flex-wrap:wrap;align-items:center;gap:6px;min-height:56px;padding:10px;display:flex}.self-photo-choice span{font-size:12px}.self-photo-card.is-selected{outline-offset:-2px;outline:2px solid #1677ff}.self-save-bar{background:var(--canvas);border:1px solid color-mix(in srgb, currentColor 18%, transparent);z-index:5;border-radius:14px;justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;padding:16px;display:flex;position:sticky;bottom:12px}.self-photo-preview{object-fit:contain;background:#111;width:100%;height:auto;max-height:75vh}.absence-filter-scroll{max-width:calc(100% + 12px);margin:-6px;padding:6px;overflow-x:auto}.absence-filter-scroll .ant-segmented{min-width:max-content;padding:6px}.self-tagging-page .self-events-empty{margin:32px 0 0}.absence-conflicts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.absence-conflicts img{object-fit:contain;width:100%;height:140px}.absence-conflicts a{padding:8px 0;display:inline-block}.absence-review-card{border:1px solid color-mix(in srgb, currentColor 20%, transparent);border-radius:12px;margin:16px 0;padding:16px}.self-finished{text-align:center;padding:60px 12px}.self-photo-open:focus-visible,.self-event-cover:focus-visible{outline-offset:-3px;outline:3px solid #1677ff}@media (max-width:900px){.self-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.self-event-grid{grid-template-columns:minmax(0,1fr)}.self-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.self-photo-grid.is-large{grid-template-columns:minmax(0,1fr)}.self-save-bar{flex-wrap:wrap;justify-content:center;padding:10px;bottom:0}.self-tagging-heading{flex-direction:column;align-items:flex-start}}@media (min-width:768px) and (max-width:1100px){.primary-nav-label{display:none}}.page-shell.memories-shell{height:100dvh;min-height:100dvh}.main-content.memories-content{flex:1;min-height:0;padding:0;display:flex}.memories-wall{min-width:0;min-height:180px;padding:0 max(5px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));flex-direction:column;flex:1;display:flex}.memories-wall.is-fullscreen{z-index:900;background:var(--canvas);position:fixed;inset:0}.memories-toolbar{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 8px;display:flex}.memories-toolbar h1{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.035em;flex:auto;min-width:0;margin:0;font-size:clamp(16px,2vw,24px);font-weight:500;line-height:1.2;overflow:hidden}.memories-layout-controls{flex:0 650px;align-items:center;gap:8px;min-width:0;display:flex}.memories-layout-selector{flex:0 160px;width:160px;min-width:0}.memories-layout-controls>.memories-film-axis{flex:0 140px;width:140px;min-width:0}.memories-actions{flex-shrink:0;gap:6px;display:flex}.memories-grid{isolation:isolate;flex:1;min-height:120px;display:grid;position:relative}.memories-grid.is-film{display:flex;overflow:hidden}.memories-film{--film-margin:3px;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.memories-film.is-horizontal{flex-direction:column}.memory-film-rail{flex:1 1 0;min-width:0;min-height:0;position:relative;overflow:hidden}.memory-film-track{will-change:transform;flex-direction:column;width:100%;display:flex}.memories-film.is-horizontal .memory-film-track{flex-direction:row;width:max-content;height:100%}.memory-film-tile{flex:0 0 calc(var(--film-step) - 2 * var(--film-margin));display:block}.memories-film.is-vertical .memory-film-tile{width:calc(100% - 2 * var(--film-margin))}.memories-film.is-horizontal .memory-film-tile{height:calc(100% - 2 * var(--film-margin))}.memory-film-tile.is-portrait .memory-front img:not(.memory-portrait-backdrop){z-index:1;object-fit:contain;position:relative}.memory-tile{background:var(--glass-strong-solid);min-width:0;min-height:0;color:var(--ink);cursor:pointer;perspective:1000px;border:0;border-radius:8px;margin:3px;padding:0;position:relative;overflow:hidden}.memory-tile:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px;z-index:2}.memory-back,.memory-front{position:absolute;inset:0}.memory-back{letter-spacing:.08em;background:var(--glass-subtle-solid);color:var(--muted);place-items:center;font-size:clamp(9px,1vw,14px);display:grid}.memory-front{backface-visibility:hidden;transition:transform .48s ease-in-out;transform:rotateY(0)}.memory-tile.is-closing .memory-front{transform:rotateY(90deg)}.memory-front img{object-fit:cover;width:100%;height:100%;display:block}.memory-tile-single .memory-front img{object-fit:contain}.memory-tile-collage-portrait .memory-front img:not(.memory-portrait-backdrop){z-index:1;object-fit:contain;position:relative}.memory-front img.memory-portrait-backdrop{object-fit:cover;filter:blur(16px)brightness(.5);position:absolute;inset:0;transform:scale(1.08)}.memory-caption{z-index:2;text-align:left;color:#fff;opacity:0;background:linear-gradient(#0000,#000000d9);padding:24px 10px 9px;font-size:12px;line-height:1.3;transition:opacity .16s;position:absolute;inset:auto 0 0}.memory-tile:hover .memory-caption,.memory-tile:focus-visible .memory-caption{opacity:1}.memories-status{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.memories-status h2{font-weight:500}.memories-viewer-caption{bottom:max(24px, env(safe-area-inset-bottom));color:#fff;text-align:center;background:#000c;border-radius:12px;max-width:85%;padding:8px 16px;position:absolute;left:50%;transform:translate(-50%)}@media (max-width:899px){.memories-film{--film-margin:2px}.memories-toolbar{gap:8px;padding:10px 5px}.memories-toolbar h1{max-width:210px}.memories-actions .ant-btn>span:not(.ant-btn-icon){display:none}.memory-tile{border-radius:6px;margin:2px}}@media (max-width:1100px){.memories-toolbar h1{clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.memories-layout-controls{flex:auto}.memories-actions .ant-btn>span:not(.ant-btn-icon){display:none}}@media (max-width:600px){.memories-toolbar,.memories-layout-controls{gap:4px}.memories-layout-controls .memories-layout-selector{flex:0 80px;width:80px}.memories-layout-controls .memories-selection-selector{flex:118px;width:118px}.memories-layout-controls>.memories-film-axis{flex:0 64px;width:64px}.memories-layout-controls .ant-select{column-gap:4px;font-size:12px;padding-inline:8px!important}.memories-actions{gap:4px}.memories-actions .ant-btn{width:28px;min-width:28px;padding-inline:0}.memories-layout-controls .memory-control-full{display:none}.memories-layout-controls .memory-control-short{display:inline}}@media (prefers-reduced-motion:reduce){.memory-front,.memory-caption{transition:none}}.public-page{overflow-wrap:anywhere;max-width:780px;margin:0 auto;padding:32px 20px 64px;line-height:1.65}.public-page nav{flex-wrap:wrap;gap:12px 24px;margin-bottom:32px;display:flex}.public-page h1{margin:0 0 24px;font-size:clamp(26px,5vw,38px);line-height:1.2}.public-page h2{margin:28px 0 12px;font-size:23px}.public-page p{margin:12px 0}.public-page a{text-underline-offset:3px;text-decoration:underline}.public-page .ant-alert{margin-bottom:20px}.contact-captcha{min-height:10px;margin:16px 0}.contact-message{white-space:pre-wrap;overflow-wrap:anywhere}.portrait-import-controls{gap:16px;max-width:720px;display:grid}.portrait-import-controls label{gap:8px;display:grid}.portrait-import-controls input{max-width:100%}.portrait-import-thumb{object-fit:cover;border-radius:6px;width:60px;height:80px}.admin-portrait-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.admin-portrait-card{flex-direction:column;gap:8px;min-width:0;display:flex}.admin-portrait-card>img{aspect-ratio:3/4;object-fit:cover;border-radius:12px;width:100%}.admin-portrait-card>strong{overflow-wrap:anywhere;flex:1}.menu-contribution{border:1px solid var(--glass-border);background:var(--glass-interactive);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.menu-contribution>span:last-child{gap:4px;min-width:0;display:grid}.menu-contribution strong{font-weight:600}.menu-contribution small{color:var(--muted);font-size:14px;line-height:1.4}.menu-contribution:hover{border-color:var(--brand);color:var(--ink)}.portrait-import-controls details{border-top:1px solid var(--glass-border);padding-top:12px}.portrait-import-controls summary{cursor:pointer;padding:8px 0}.portrait-import-controls details label{margin-top:12px}.portrait-import-controls{overflow-wrap:anywhere}.photo-image-error{z-index:1100;max-width:calc(100vw - 40px);color:var(--ink);background:var(--glass-strong);flex-wrap:wrap;gap:10px;padding:12px;display:flex;position:fixed;bottom:20px;left:20px}.portrait-single-preview{align-items:center;gap:16px;display:flex}.portrait-single-preview img{width:120px;height:160px}.photo-selection-start{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-width:0;min-height:100%;padding:clamp(24px,6vw,72px) 16px;display:flex}.photo-selection-start h2{max-width:560px;margin:0 0 16px;font-family:Fraunces,Georgia,serif;font-size:clamp(26px,4vw,42px);line-height:1.2}.photo-selection-heading-rest{display:block}.photo-selection-start p{max-width:420px;color:var(--muted);margin:0 0 28px;font-size:16px}.photo-selection-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.photo-selection-actions .ant-btn{min-height:44px}.photo-choice-pointer{color:var(--brand);pointer-events:none;flex:none;font-size:18px;animation:1.6s ease-in-out 3 photo-choice-pulse}.photo-controls-open .photo-choice-pointer{visibility:hidden}.photo-awaiting-selection .photo-collection-trigger{color:var(--brand)}@keyframes photo-choice-pulse{50%{opacity:.45;transform:translate(-3px)}}@media (max-width:767px){.main-content.photos-content{gap:0;padding:0}.photos-content .photo-subheader{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right));margin:0}.photo-gallery-stage{box-shadow:none;border:0;border-radius:0}.photo-gallery-stage>.ant-typography{padding:16px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left))}.hero-swiper{border-radius:0}.hero-swiper .swiper-button-prev{left:max(10px, env(safe-area-inset-left))}.hero-swiper .swiper-button-next{right:max(10px, env(safe-area-inset-right))}.photo-selection-start{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(24px, env(safe-area-inset-bottom))}.photo-awaiting-selection .photo-filters-trigger{position:relative}.photo-awaiting-selection .photo-filters-trigger .photo-choice-pointer{line-height:18px;position:absolute;top:calc(50% - 9px);right:-8px}}@media (prefers-reduced-motion:reduce){.photo-choice-pointer{animation:none}}.photo-collections-drawer .ant-drawer-body{min-height:0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow:hidden}.photo-collections-drawer .photo-control-panel{width:100%}.memories-selection-controls{z-index:5;border:1px solid var(--glass-border-strong);background:var(--glass-elevated);max-width:calc(100% - 16px);box-shadow:var(--glass-shadow-strong);border-radius:12px;padding:8px 12px;font-size:12px;position:absolute;top:8px;right:8px}.memories-selection-selector{flex:310px;width:310px;min-width:0}.memories-selection-hint{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.memory-control-short{display:none}.ant-select-dropdown.memories-controls-popup{border-radius:20px;max-width:calc(100vw - 20px);padding:10px!important}.memories-controls-popup .ant-select-item{border-radius:10px}.memories-film.is-static{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}@media (max-width:600px){.ant-select-dropdown.memories-controls-popup{max-width:none;width:auto!important;min-width:0!important;left:10px!important;right:10px!important}}.class-video-card{text-align:left;width:100%;min-width:0;color:var(--ink);font:inherit;cursor:pointer;border:1px solid var(--glass-border);border-radius:var(--surface-radius);background:var(--glass-subtle);box-shadow:var(--glass-shadow-soft);padding:0;display:grid;overflow:hidden}.class-video-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.class-video-card:hover .class-video-poster .anticon{transform:scale(1.08)}.class-video-poster{aspect-ratio:16/9;background:#000;display:block;position:relative}.class-video-poster img{object-fit:contain;width:100%;height:100%;display:block}.class-video-poster .anticon{color:#fff;filter:drop-shadow(0 2px 8px #000);justify-content:center;align-items:center;font-size:44px;transition:transform .15s;display:flex;position:absolute;inset:0}.class-video-caption{gap:6px;padding:14px 16px;display:grid}.class-video-caption strong{font-size:1.05rem}.class-video-caption small{color:var(--muted)}.class-video-caption>span{font-size:.9rem}.class-video-player{aspect-ratio:16/9;background:#000;width:100%;max-height:min(65dvh,100dvh - 240px);display:block}.class-video-attribution{color:var(--muted);margin:0 0 12px}@media (prefers-reduced-motion:reduce){.class-video-poster .anticon{transition:none}}.teacher-card{display:contents}.class-video-compact{display:none}@media (max-width:1279px){.yearbook-teachers>.class-video-card{display:none}.teacher-card{border:1px solid var(--glass-border);border-radius:var(--surface-radius);background:var(--glass-subtle);min-width:0;-webkit-backdrop-filter:blur(var(--glass-blur-subtle)) saturate(125%);backdrop-filter:blur(var(--glass-blur-subtle)) saturate(125%);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow-soft);display:block;position:relative}.teacher-card>.person-card,.teacher-card>.person-card:hover{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;box-shadow:none;background:0 0;border:0;transform:none}.teacher-card>.person-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.class-video-compact{z-index:1;border:1px solid var(--glass-border);background:var(--glass-interactive);max-width:calc(100% - 24px);min-height:36px;color:var(--brand);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;display:inline-flex;position:absolute;bottom:12px;right:12px}.class-video-compact:hover{background:var(--glass-interactive-hover)}.class-video-compact:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}}.filter-year-range{flex-wrap:wrap;gap:8px;display:flex}.filter-year-range .ant-input-number{flex:90px;min-width:0}.page-shell.content-review-shell{height:auto;min-height:100dvh}.main-content.content-review-page{width:100%;max-width:1320px;margin-inline:auto;padding-block:36px 48px}.review-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px 32px;margin-bottom:28px;display:grid}.review-heading h2.ant-typography{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(26px,3vw,34px);line-height:1.2}.review-heading p{color:var(--muted);margin:0;line-height:1.5}.review-heading>.ant-btn{margin-top:2px}.review-counts{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.review-counts>span{color:var(--muted);background:var(--glass-subtle);border:1px solid var(--glass-border);border-radius:12px;align-items:center;gap:16px;padding:8px 14px;display:inline-flex}.review-counts strong{color:var(--brand);font-variant-numeric:tabular-nums;font-size:17px}.content-review-page>.ant-tabs{flex:none}.content-review-page>.ant-tabs>.ant-tabs-nav{margin-bottom:24px}.review-filters{background:var(--glass-subtle);border:1px solid var(--glass-border);border-radius:var(--surface-radius);grid-template-columns:minmax(150px,1fr) minmax(180px,1.25fr) repeat(2,minmax(145px,.75fr)) auto;align-items:end;gap:16px;padding:20px;display:grid}.review-filter-field{flex-direction:column;gap:8px;min-width:0;display:flex}.review-filter-field>label{color:var(--muted);font-size:13px;font-weight:600;line-height:18px}.review-filter-field .ant-select{width:100%}.review-filter-field .ant-select,.review-filter-field input.ant-input,.review-filters>.ant-btn{min-width:0;height:40px}.review-filter-field input[type=date]{color-scheme:normal;width:100%}.review-dialog-fields{flex-direction:column;gap:20px;padding-block:12px 8px;display:flex}.review-dialog-fields>p{color:var(--muted);margin:0}html[data-theme=dark] .review-filter-field input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.review-empty{text-align:center;border:1px solid var(--glass-border);border-radius:var(--surface-radius);background:var(--glass-subtle);flex-direction:column;justify-content:center;align-items:center;min-height:300px;margin-top:20px;padding:40px 24px;display:flex}.review-empty-icon{width:56px;height:56px;color:var(--brand);background:var(--glass-selected);border-radius:50%;place-items:center;margin-bottom:20px;font-size:25px;display:grid}.review-empty h3.ant-typography{margin:0 0 8px;font-size:22px}.review-empty p{max-width:420px;color:var(--muted);margin:0;line-height:1.6}.review-empty>.ant-btn{margin-top:20px}.content-review-page .ant-pagination{justify-content:center;margin-top:24px}.review-decision-history .ant-card+.ant-card{margin-top:12px}.submission-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;margin-block:20px;display:grid}.submission-grid:empty{display:none}.submission-image-button{background:var(--media-stage-soft);cursor:pointer;border:2px solid #0000;border-radius:12px;width:100%;padding:0;display:block;overflow:hidden}.submission-image-button img{object-fit:contain;width:100%;height:180px;display:block}.submission-image-button:focus-visible,.review-active{outline:2px solid var(--focus-ring);outline-offset:2px}.review-workspace{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;margin-block:20px;display:grid}.review-large-image{object-fit:contain;background:var(--media-stage-soft);border-radius:12px;width:100%;min-height:180px;max-height:65vh;margin-bottom:16px;display:block}.review-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:16px;display:grid}.review-thumbnails img{height:110px}.review-thumbnails .ant-checkbox-wrapper{overflow-wrap:anywhere;margin-block:12px 6px;display:flex}.review-thumbnails small{overflow-wrap:anywhere;display:block}.review-actions{border-top:1px solid var(--glass-border);width:100%;padding-top:20px}.review-event-history{margin-block:16px}.review-event-history>div{padding:12px 0}.content-review-page .ant-card{overflow-wrap:anywhere}@media (max-width:1100px){.review-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.review-filters>.ant-btn{grid-column:1/-1;justify-self:end}}@media (max-width:760px){.main-content.content-review-page{padding-block:24px 32px}.review-heading{gap:16px;margin-bottom:20px}.review-heading>div:first-child{grid-column:1/-1}.review-heading>.ant-btn{grid-area:2/2;align-self:center;margin:0}.review-counts{grid-area:2/1;gap:8px}.review-counts>span{gap:8px;padding:6px 10px;font-size:13px}.review-filters{gap:16px 12px;padding:16px}.review-filters>.ant-btn{justify-self:stretch}.review-filter-field:nth-child(-n+2){grid-column:1/-1}.review-empty{min-height:260px;padding:32px 20px}.review-workspace{grid-template-columns:minmax(0,1fr)}.review-large-image{max-height:50vh}}.photo-picker-scroll{overscroll-behavior:contain;--picker-shadow-top:inset 0 12px 12px -12px transparent;--picker-shadow-bottom:inset 0 -12px 12px -12px transparent;min-height:0;box-shadow:var(--picker-shadow-top), var(--picker-shadow-bottom);scroll-padding:8px;overflow-y:auto}.photo-picker-scroll.has-below{--picker-shadow-bottom:inset 0 -12px 12px -12px color-mix(in srgb, currentColor 30%, transparent)}.photo-picker-scroll.has-above{--picker-shadow-top:inset 0 12px 12px -12px color-mix(in srgb, currentColor 30%, transparent)}.admin-bulk-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-collection-description{color:var(--muted);overflow-wrap:anywhere;margin:0;padding:0 0 10px;font-size:14px}.memories-grid.is-verifying .memory-tile{visibility:hidden}.photo-control-header{z-index:1;flex:none;position:relative}.photo-catalogue-search{background:var(--glass-elevated-solid);padding-block:4px 8px}.photo-catalogue-search .ant-input-affix-wrapper{height:44px}.photo-catalogue-search .ant-input-affix-wrapper input{min-height:0}.photo-collection-row{grid-template-columns:minmax(0,1fr) 44px;gap:8px;display:grid}.photo-collection-row:not(:has(.photo-collection-disclosure)){grid-template-columns:minmax(0,1fr)}.collection-list .photo-collection-disclosure{justify-content:center;min-width:44px;padding:0}.photo-collection-children{border-left:2px solid color-mix(in srgb, currentColor 18%, transparent);margin:8px 0 0 12px;padding:10px 0 4px 18px}.photo-collection-children[hidden]{display:none}.photo-class-choices,.photo-topic-choices{flex-wrap:wrap;gap:8px;display:flex}.photo-class-choices .ant-btn,.photo-topic-choices .ant-btn{white-space:normal;height:auto;min-height:44px}.photo-choice-path{opacity:.7;display:block}.photo-catalogue-search .ant-input-search .ant-input-search-btn{min-width:44px;height:44px;min-height:44px}.photo-tag-bar{flex-wrap:wrap;align-items:center;gap:6px 20px;padding-block:4px;display:flex}.photo-tag-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-tag-group>strong{min-width:60px}.photo-tag-group .ant-btn{white-space:normal;height:auto;min-height:30px}.photo-tag-group{min-width:0;max-width:100%}.photo-tag-bar>small{flex-basis:100%}@media (min-width:768px){.photos-shell>.app-header{height:60px;line-height:normal}.photos-content{gap:8px;padding-bottom:12px}.photo-subheader{padding-block:4px}.photo-subheader-primary{gap:8px}.photo-subheader-primary h1{flex:0 auto;font-size:20px!important}.photo-subheader-actions{margin-left:auto}.photo-subheader-actions .ant-btn,.photo-collection-trigger{min-height:36px}.photo-heading-clear{flex-shrink:0;width:32px;min-height:36px;padding:0}.photo-tag-group{gap:6px}.photo-tag-group>strong{min-width:auto}.photo-active-filters:has(>.active-filter-pills){margin-top:4px}}.photo-tag-bar>small{color:var(--muted)}.photo-chain-summary{flex-wrap:wrap;align-items:center;gap:8px 16px;padding-block:6px;display:flex}.photo-chain-count{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.photo-chain-controls{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.filter-topic-input-row{align-items:center;gap:12px;display:flex}.filter-topic-input-row>.ant-select{flex:1;min-width:0}.filter-topic-input-row>.topic-tag-mode{flex-shrink:0}.topic-tag-mode{--topic-mode-size:36px;display:inline-flex}.photo-tag-bar .topic-tag-mode{--topic-mode-size:30px}.topic-tag-mode button{width:var(--topic-mode-size);height:var(--topic-mode-size);border:1px solid var(--glass-border-strong);background:var(--glass-interactive);color:var(--ink);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:inline-flex;position:relative}.topic-tag-mode svg{flex-shrink:0;display:block}@media (pointer:coarse){.topic-tag-mode button:before{content:"";position:absolute;inset:-6px}}.topic-tag-mode button[aria-pressed=true]{background:var(--brand);color:var(--canvas);border-color:var(--brand);font-weight:600}.topic-tag-mode button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.photo-chain-position{font-variant-numeric:tabular-nums;color:#fff;pointer-events:none;background:#050605cc;border-radius:8px;padding:6px 10px}.gallery-chain-position{top:12px;left:max(32px, env(safe-area-inset-left));z-index:5;position:absolute}@media (max-width:767px){.gallery-chain-position{left:max(16px, env(safe-area-inset-left))}}.slideshow-chain-position{top:max(18px, env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left));z-index:6;position:absolute}
.autumn-bouquet{pointer-events:none;width:132px;height:130px;display:block;position:relative}.autumn-bouquet>span{transform-origin:50% 95%;width:75px;height:110px;position:absolute;top:5px;left:28px}.autumn-bouquet>span:first-child{transform:rotate(-29deg)}.autumn-bouquet>span:nth-child(2){top:12px;transform:rotate(24deg)}.autumn-bouquet>span:nth-child(3){top:-8px;transform:rotate(-3deg)}.autumn-bouquet svg{width:100%;height:100%}.app-header.app-header-celebrating{height:auto;min-height:100px;padding-bottom:34px;position:relative}.teacher-holiday-header{color:#724821;letter-spacing:.04em;pointer-events:none;background:linear-gradient(90deg,#f5dfae,#fff5dc 45%,#f5dfae);border-top:1px solid #d9bc81;justify-content:center;align-items:center;gap:14px;height:34px;font-size:13px;font-weight:600;line-height:1;display:flex;position:absolute;inset:auto 0 0;overflow:hidden}.teacher-holiday-header i{color:#966437;margin:0 6px;font-style:normal}.teacher-holiday-header .autumn-bouquet{width:60px;height:34px}.teacher-holiday-header .autumn-bouquet>span{width:31px;height:44px;top:2px;left:15px}.teacher-holiday-header .autumn-bouquet:last-child{transform:scaleX(-1)}.teacher-card.teacher-card-celebrating{border-radius:var(--surface-radius);color:#503b22;background:linear-gradient(145deg,#fff4d5,#f2d79e);border:1px solid #d2ac62;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff9e7}.teacher-card-celebrating>.person-card,.teacher-card-celebrating>.person-card:hover{color:#503b22;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;transform:none}.teacher-card-celebrating .person-card small{color:#6d512e}.teacher-holiday-caption{color:#785025;letter-spacing:.025em;justify-content:center;align-items:center;gap:5px;min-height:44px;font-size:13px;font-weight:600;display:flex}.teacher-holiday-caption .autumn-bouquet{width:40px;height:42px}.teacher-holiday-caption .autumn-bouquet>span{width:27px;height:40px;top:2px;left:8px}.teacher-greeting-replay{color:#644522;width:calc(100% - 24px);min-height:44px;font:inherit;cursor:pointer;background:#fff6df;border:1px solid #a5783c;border-radius:12px;margin:0 12px 12px;padding:11px 14px;font-size:13px;font-weight:600;line-height:1.45;display:block}.teacher-greeting-replay:hover{background:#fffaf0;border-color:#80592c}.teacher-greeting-replay:focus-visible,.teacher-card-celebrating>.person-card:focus-visible{outline-offset:-4px;outline:3px solid #486544}@media (max-width:1279px){.teacher-card-celebrating .class-video-compact{color:#614627;background:#fff6df;border-color:#ba985e;justify-content:center;width:calc(100% - 24px);max-width:none;min-height:44px;margin:0 12px 10px;display:flex;position:static}}.teachers-day-dialog{color:#493d2e;background:0 0;border:0;outline:none;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:20px;position:fixed;inset:0;overflow:hidden}.teachers-day-dialog[open]{place-items:center;display:grid}.teachers-day-dialog::backdrop{background:#fff2d63d}.teachers-day-reading::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#272b1f66}.teachers-day-flower-field{pointer-events:none;position:absolute;inset:0;overflow:hidden}.teachers-day-flying-flower{left:var(--x);width:var(--size);opacity:0;animation:teacher-flower-rise 3.2s var(--delay) cubic-bezier(.22,.45,.56,.92) both;position:absolute;bottom:-210px}.teachers-day-flying-flower svg{width:100%;display:block}@keyframes teacher-flower-rise{0%{opacity:0;transform:translate(-50%)rotate(-15deg)}15%{opacity:.96}80%{opacity:.9}to{opacity:0;transform:translate(calc(-50% + var(--sway)), calc(-100dvh - 260px)) rotate(var(--turn))}}.teachers-day-intro{text-align:center;color:#604626;background:#fff8e5f0;border:1px solid #dfc18cb3;border-radius:24px;max-width:90vw;padding:24px 38px;animation:.8s both teacher-intro-in;position:relative;box-shadow:0 16px 80px #623e161f}.teachers-day-intro p{letter-spacing:.04em;margin:0 0 10px;font-size:15px}.teachers-day-intro h2{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(30px,5vw,58px);font-weight:400;line-height:1.15}.teachers-day-intro>span{font-size:14px}@keyframes teacher-intro-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.teachers-day-letter{background:#fff9ec;border:1px solid #d9b675;border-radius:26px;flex-direction:column;width:min(100%,580px);max-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 100px #2920103d}.teachers-day-letter-heading{text-align:center;background:radial-gradient(at 50% 0,#f7e4b9,#0000 75%);flex-shrink:0;padding:22px 36px 10px}.teachers-day-letter-heading>.autumn-bouquet{height:126px;margin:0 auto 8px}.teachers-day-eyebrow{text-transform:uppercase;letter-spacing:.13em;color:#856239;margin:0 0 10px;font-size:10px;font-weight:600}.teachers-day-letter h2{color:#68472c;outline:none;margin:0;font-family:Georgia,serif;font-size:clamp(30px,5vw,42px);font-weight:400;line-height:1.15}.teachers-day-copy{overscroll-behavior:contain;min-height:0;padding:0 38px;font-size:15px;line-height:1.7;overflow:auto}.teachers-day-copy p{margin:14px 0}.teachers-day-copy .teachers-day-salutation{color:#68472c;font-family:Georgia,serif;font-size:19px}.teachers-day-signature{padding-top:3px}.teachers-day-signature strong{color:#5c6e45;font-size:17px;font-weight:600}.teachers-day-signature span{font-size:13px}.teachers-day-letter footer{flex-shrink:0;padding:12px 38px 24px}.teachers-day-done{color:#fffbee;width:100%;min-height:46px;font:inherit;cursor:pointer;background:#526342;border:1px solid #526342;border-radius:12px;padding:12px 18px;font-size:14px}.teachers-day-done:hover{background:#405333}.teachers-day-close{z-index:1;color:#795a37;width:44px;height:44px;font:inherit;cursor:pointer;background:#fff9ecd9;border:0;border-radius:50%;place-items:center;font-size:28px;display:grid;position:absolute;top:9px;right:9px}.teachers-day-close:hover{background:#f3e6ca}.teachers-day-dialog button:focus-visible{outline-offset:3px;outline:3px solid #a66531}.teachers-day-preview{border:1px dashed var(--muted);color:var(--text);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;padding:12px;font-size:12px;display:flex}.teachers-day-preview button{font:inherit;cursor:pointer}@media (max-width:600px){.app-header.app-header-celebrating{min-height:90px;padding-bottom:32px}.teacher-holiday-header{gap:8px;height:32px;font-size:12px}.teachers-day-dialog{padding:12px}.teachers-day-intro{padding:22px 18px}.teachers-day-letter{border-radius:20px}.teachers-day-letter-heading{padding:20px 20px 7px}.teachers-day-letter-heading>.autumn-bouquet{height:110px;margin-bottom:8px;transform:scale(.85)}.teachers-day-copy{padding:0 22px;font-size:14px;line-height:1.65}.teachers-day-copy .teachers-day-salutation{font-size:18px}.teachers-day-letter footer{padding:10px 22px 18px}}@media (max-height:600px){.teachers-day-letter-heading{padding:16px 45px 8px}.teachers-day-letter-heading>.autumn-bouquet{display:none}.teachers-day-letter h2{font-size:28px}.teachers-day-letter footer{padding-block:8px 12px}}@media (prefers-reduced-motion:reduce){.teachers-day-flying-flower,.teachers-day-intro{animation:none}}
