@font-face{font-family:Roboto;font-display:swap;font-style:normal;font-weight:100 900;src:url(../assets/fonts/Roboto-VariableFont_wdth,wght.ttf)format("truetype")}@font-face{font-family:Google Sans Flex;font-display:optional;font-style:normal;font-weight:1 1000;font-stretch:100%;src:url(../assets/fonts/GoogleSansFlex-Latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Outlined;font-display:swap;font-style:normal;font-weight:100 700;src:url(../assets/fonts/MaterialSymbolsOutlined.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--md-ref-typeface-brand:"Google Sans Flex", Roboto, Arial, sans-serif;--md-ref-typeface-plain:"Google Sans Flex", Roboto, Arial, sans-serif;--type-title-large-size:16px;--type-title-large-line-height:24px;--type-title-large-weight:500;--type-card-header-size:24px;--type-card-header-line-height:32px;--type-card-header-weight:475;--type-title-medium-size:16px;--type-title-medium-line-height:24px;--type-title-medium-weight:500;--type-body-large-size:16px;--type-body-large-line-height:24px;--type-body-large-weight:400;--type-body-medium-size:14px;--type-body-medium-line-height:20px;--type-body-medium-compact-line-height:var(--type-body-medium-line-height);--type-body-medium-weight:400;--type-body-small-size:12px;--type-body-small-line-height:16px;--type-body-small-weight:400;--type-label-large-size:14px;--type-label-large-line-height:20px;--type-label-large-weight:500;--type-label-medium-size:12px;--type-label-medium-line-height:16px;--type-label-medium-weight:500;--type-label-medium-tracking:.1px;--md-sys-color-primary:#455e91;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#d8e2ff;--md-sys-color-on-primary-container:#001a42;--md-sys-color-secondary:#575e71;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#dbe2f9;--md-sys-color-on-secondary-container:#141b2c;--md-sys-color-tertiary:#715573;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#fcd7fb;--md-sys-color-on-tertiary-container:#29132d;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#ffdad6;--md-sys-color-on-error-container:#410002;--md-sys-color-surface:#f9f9ff;--md-sys-color-background:#f9f9ff;--md-sys-color-surface-tint:#455e91;--md-sys-color-surface-dim:#dad9e0;--md-sys-color-surface-bright:#f9f9ff;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#f3f3fa;--md-sys-color-surface-container:#eeedf4;--md-sys-color-surface-container-high:#e8e7ef;--md-sys-color-surface-container-highest:#e2e2e9;--md-sys-color-on-surface:#1a1b20;--md-sys-color-on-surface-variant:#44474f;--md-sys-color-outline:#75777f;--md-sys-color-outline-variant:#c5c6d0;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-inverse-surface:#2f3036;--md-sys-color-inverse-on-surface:#f1f0f7;--md-sys-color-inverse-primary:#aec6ff;--app-bar-collapsed-height:56px;--app-bar-expanded-height:280px;--page-max-width:1200px;--card-margin:4px;--card-radius:12px;--container-radius:16px;--media-radius:20px;--card-padding-horizontal:16px;--card-padding-top:10px;--card-padding-bottom:14px;--section-gap:12px;--card-inner-horizontal:14px;--card-inner-vertical:12px;--section-inset-horizontal:12px;--section-inset-top:9px;--section-inset-bottom:11px;--list-item-gap:7px;--chip-padding-horizontal:9px;--chip-padding-vertical:5px;--chip-icon-gap:5px;--chip-label-horizontal:10px;--metadata-icon-size:13px;--motion-standard:cubic-bezier(.2, 0, 0, 1);--motion-emphasized-accelerate:cubic-bezier(.3, 0, .8, .15);--motion-emphasized-decelerate:cubic-bezier(.05, .7, .1, 1);--motion-spring:cubic-bezier(.42, 1.67, .21, .9);font-family:var(--md-ref-typeface-plain)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--md-sys-color-primary:#aec6ff;--md-sys-color-on-primary:#122f60;--md-sys-color-primary-container:#2c4678;--md-sys-color-on-primary-container:#d8e2ff;--md-sys-color-secondary:#bfc6dc;--md-sys-color-on-secondary:#293041;--md-sys-color-secondary-container:#3f4759;--md-sys-color-on-secondary-container:#dbe2f9;--md-sys-color-tertiary:#dfbcdf;--md-sys-color-on-tertiary:#402843;--md-sys-color-tertiary-container:#583e5a;--md-sys-color-on-tertiary-container:#fcd7fb;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-surface:#111318;--md-sys-color-background:#111318;--md-sys-color-surface-tint:#aec6ff;--md-sys-color-surface-dim:#111318;--md-sys-color-surface-bright:#37393e;--md-sys-color-surface-container-lowest:#0c0e13;--md-sys-color-surface-container-low:#1a1b20;--md-sys-color-surface-container:#1e1f25;--md-sys-color-surface-container-high:#282a2f;--md-sys-color-surface-container-highest:#33353a;--md-sys-color-on-surface:#e2e2e9;--md-sys-color-on-surface-variant:#c5c6d0;--md-sys-color-outline:#8e9099;--md-sys-color-outline-variant:#44474f;--md-sys-color-inverse-surface:#e2e2e9;--md-sys-color-inverse-on-surface:#2f3036;--md-sys-color-inverse-primary:#455e91}}*{box-sizing:border-box}html{scroll-behavior:smooth;touch-action:pan-x pan-y}body{touch-action:pan-x pan-y;background:var(--md-sys-color-surface);min-width:320px;color:var(--md-sys-color-on-surface);font-family:var(--md-ref-typeface-plain);font-size:var(--type-body-large-size);font-weight:var(--type-body-large-weight);line-height:var(--type-body-large-line-height);letter-spacing:0;text-rendering:optimizelegibility;margin:0}a{color:var(--md-sys-color-primary);text-underline-offset:2px;font-weight:500;text-decoration-thickness:1px}button,a{-webkit-tap-highlight-color:transparent}.top-app-bar,.section-header,.content-tile,.metadata-chip,.filter-panel,.section-summary,.gallery-panel,.gallery-tile,.site-footer,.gallery-viewer,.toast,md-filled-button,md-text-button,md-icon-button,.top-action-button,.top-action-icon-button,.profile-menu-item,md-outlined-segmented-button,md-outlined-segmented-button-set{-webkit-user-select:none;user-select:none}md-icon,.material-symbols-outlined{--md-icon-font:"Material Symbols Outlined";letter-spacing:0;text-transform:none;white-space:nowrap;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;justify-content:center;align-items:center;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}.top-app-bar{--app-bar-collapse:0px;--app-bar-progress:0;--app-bar-foreground:color-mix(in srgb, #fff calc((1 - var(--app-bar-progress)) * 100%), var(--md-sys-color-on-primary) calc(var(--app-bar-progress) * 100%));z-index:10;height:calc(var(--app-bar-expanded-height) - var(--app-bar-collapse));min-height:var(--app-bar-collapsed-height);background:var(--md-sys-color-surface);box-shadow:none;color:var(--app-bar-foreground);isolation:isolate;transition:box-shadow .35s var(--motion-standard);will-change:height;position:fixed;top:0;left:0;right:0;overflow:hidden}.top-app-bar:before,.top-app-bar:after{content:"";position:absolute;inset:0}.top-app-bar:before{z-index:-2;height:var(--app-bar-expanded-height);transform:translateY(calc(var(--app-bar-collapse) * -.18));will-change:transform;background:linear-gradient(#050918ad 0%,#0509182e 48%,#050918bd 100%),url(../assets/images/app-bar-background.webp) 50% 52%/cover no-repeat}.top-app-bar:after{z-index:-1;background:var(--md-sys-color-primary);opacity:var(--app-bar-progress);will-change:opacity}.top-app-bar.scrolled-under{box-shadow:0 2px 4px color-mix(in srgb, var(--md-sys-color-shadow) 22%, transparent), 0 4px 12px 3px color-mix(in srgb, var(--md-sys-color-shadow) 14%, transparent)}.app-bar-spacer{height:var(--app-bar-expanded-height)}.app-bar-toolbar{height:var(--app-bar-collapsed-height);align-items:center;padding:0 4px 0 16px;display:flex}.app-title{min-width:0;font-family:var(--md-ref-typeface-brand);font-size:var(--type-title-large-size);font-weight:var(--type-title-large-weight);line-height:var(--type-title-large-line-height);text-overflow:ellipsis;text-shadow:0 1px 3px #00000073;white-space:nowrap;opacity:clamp(0, calc((var(--app-bar-progress) - .55) * 2.25), 1);transform:translateY(calc((1 - var(--app-bar-progress)) * -8px));will-change:opacity, transform;flex:auto;padding-right:16px;overflow:hidden}.app-bar-flexible-content{width:min(100%, var(--page-max-width));pointer-events:none;opacity:clamp(0, calc(1 - (var(--app-bar-progress) * 1.65)), 1);transform:translateY(calc(var(--app-bar-progress) * 12px));will-change:opacity, transform;margin:0 auto;padding:0 20px 24px;position:absolute;bottom:0;left:0;right:0}.expanded-app-title{font-family:var(--md-ref-typeface-brand);text-shadow:0 2px 8px #0000008c;font-size:40px;font-weight:500;line-height:48px}.top-actions{align-items:center;gap:0;display:flex}.top-app-bar md-filled-button{--md-filled-button-container-color:var(--md-sys-color-on-primary);--md-filled-button-label-text-color:var(--md-sys-color-primary);--md-filled-button-hover-label-text-color:var(--md-sys-color-primary);--md-filled-button-focus-label-text-color:var(--md-sys-color-primary);--md-filled-button-pressed-label-text-color:var(--md-sys-color-primary)}md-filled-button{--md-filled-button-container-height:40px;--md-filled-button-container-shape:999px;--md-filled-button-label-text-font:var(--md-ref-typeface-plain);--md-filled-button-label-text-size:var(--type-label-large-size);--md-filled-button-label-text-line-height:var(--type-label-large-line-height);--md-filled-button-label-text-weight:var(--type-label-large-weight);--md-filled-button-label-text-tracking:0;font-family:var(--md-ref-typeface-plain);font-size:var(--type-label-large-size);font-weight:var(--type-label-large-weight);line-height:var(--type-label-large-line-height);letter-spacing:0}.top-action-button,.top-action-icon-button{appearance:none;height:40px;color:var(--app-bar-foreground);cursor:pointer;font-family:var(--md-ref-typeface-plain);font-size:var(--type-label-large-size);font-weight:var(--type-label-large-weight);line-height:var(--type-label-large-line-height);letter-spacing:0;white-space:nowrap;touch-action:manipulation;transform-origin:50%;transition:background-color .2s var(--motion-standard), transform .35s var(--motion-spring);border:0;justify-content:center;align-items:center;display:inline-flex;transform:scale(1)}.top-action-button{background:0 0;border-radius:999px;gap:6px;min-width:48px;padding:0 12px}.top-action-button md-icon{width:18px;height:18px;font-size:18px}.top-action-icon-button{background:0 0;border-radius:50%;width:40px;padding:0}.top-action-text:hover,.top-action-text:focus-visible,.top-action-icon-button:hover,.top-action-icon-button:focus-visible{background:color-mix(in srgb, var(--app-bar-foreground) 12%, transparent);outline:none}md-text-button{--md-text-button-container-height:40px;--md-text-button-container-shape:999px;--md-text-button-label-text-font:var(--md-ref-typeface-plain);--md-text-button-label-text-size:var(--type-label-large-size);--md-text-button-label-text-line-height:var(--type-label-large-line-height);--md-text-button-label-text-weight:var(--type-label-large-weight);--md-text-button-label-text-tracking:0;font-family:var(--md-ref-typeface-plain);font-size:var(--type-label-large-size);font-weight:var(--type-label-large-weight);line-height:var(--type-label-large-line-height);letter-spacing:0}md-filled-button,md-text-button,md-icon-button,md-outlined-segmented-button{transform-origin:50%;transition:transform .35s var(--motion-spring);transform:scale(1)}md-filled-button:active,md-text-button:active,md-icon-button:active,.top-action-button:active,.top-action-icon-button:active{transform:scale(.92)}md-outlined-segmented-button:active{transform:scale(.96)}.profile-menu-item{width:100%;min-height:48px;color:var(--md-sys-color-on-surface);cursor:pointer;font-family:var(--md-ref-typeface-plain);font-size:var(--type-body-large-size);font-weight:var(--type-body-large-weight);line-height:var(--type-body-large-line-height);letter-spacing:0;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 12px;display:flex}.profile-menu-item:hover{background:color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent)}.profile-menu-item:focus-visible,.profile-menu-item:active{background:color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent);outline:none}#more-menu-button{display:none}.profile-menu{z-index:20;background:var(--md-sys-color-surface-container);min-width:176px;box-shadow:0 2px 2px color-mix(in srgb, var(--md-sys-color-shadow) 14%, transparent), 0 3px 5px color-mix(in srgb, var(--md-sys-color-shadow) 12%, transparent), 0 1px 8px color-mix(in srgb, var(--md-sys-color-shadow) 20%, transparent);transform-origin:100% 0;border-radius:4px;flex-direction:column;padding:8px 0;display:none;position:fixed;top:48px;right:4px}.profile-menu.open{animation:profile-menu-open .22s var(--motion-emphasized-decelerate);display:flex}@keyframes profile-menu-open{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.page-shell{width:min(100%, var(--page-max-width));margin:0 auto;padding:0}.surface-card{width:calc(100% - (var(--card-margin) * 2));margin:var(--card-margin) auto;border-radius:var(--card-radius);background:var(--md-sys-color-surface-container-low);box-shadow:0 1px 2px color-mix(in srgb, var(--md-sys-color-shadow) 30%, transparent), 0 1px 3px 1px color-mix(in srgb, var(--md-sys-color-shadow) 15%, transparent);overflow:hidden}.section-header{grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:12px;min-height:56px;padding:0 16px;display:grid}.section-header md-icon{width:24px;color:var(--md-sys-color-on-surface-variant);transition:color .2s var(--motion-standard), transform .45s var(--motion-spring);transform:scale(1)}.surface-card:hover .section-header md-icon{color:var(--md-sys-color-primary);transform:translateY(-1px)scale(1.08)}h1,h2{font-family:var(--md-ref-typeface-brand);font-size:var(--type-card-header-size);font-weight:var(--type-card-header-weight);line-height:var(--type-card-header-line-height);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}md-divider{--md-divider-color:var(--md-sys-color-outline-variant);margin:7.5px 0 7.5px 16px;display:block}.section-body{gap:var(--card-padding-top);padding:var(--card-padding-top) var(--card-padding-horizontal) var(--card-padding-bottom);flex-direction:column;display:flex}.bio-body{gap:var(--section-gap)}.section-panel,.gallery-panel{border:1px solid color-mix(in srgb, var(--md-sys-color-outline-variant) 55%, transparent);border-radius:var(--container-radius);background:var(--md-sys-color-surface-container-low)}.section-panel{padding:var(--card-inner-horizontal)}.section-panel p,.gallery-note{font-size:var(--type-body-large-size);font-weight:var(--type-body-large-weight);line-height:var(--type-body-large-line-height);margin:0}.content-tile{width:100%;padding:var(--card-inner-vertical) var(--card-inner-horizontal);border-radius:var(--container-radius);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);font-family:var(--md-ref-typeface-plain);font-size:var(--type-body-medium-size);font-weight:var(--type-body-medium-weight);line-height:var(--type-body-medium-line-height);text-align:left;cursor:pointer;transition:background-color .2s var(--motion-standard), border-radius .35s var(--motion-spring), box-shadow .3s var(--motion-standard), transform .35s var(--motion-emphasized-decelerate);border:0;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden;transform:scale(1)}.content-tile:hover{border-radius:calc(var(--container-radius) + 6px);background:color-mix(in srgb, var(--md-sys-color-on-surface) 8%, var(--md-sys-color-surface-container-low));box-shadow:0 2px 8px color-mix(in srgb, var(--md-sys-color-shadow) 12%, transparent);transform:scale(1.004)}.content-tile:active{box-shadow:none;border-radius:8px;transform:scale(.985)}.content-tile:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}.tile-title{font-size:var(--type-title-medium-size);font-weight:var(--type-title-medium-weight);line-height:var(--type-title-medium-line-height);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.contrib-tile .tile-title,.thesis-tile .tile-title{-webkit-line-clamp:2}.tile-support{color:var(--md-sys-color-on-surface-variant);font-size:var(--type-body-medium-size);font-weight:var(--type-body-medium-weight);line-height:var(--type-body-medium-compact-line-height);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:6px;display:-webkit-box;overflow:hidden}.publication-author-self{color:var(--md-sys-color-primary);font-weight:650}.contrib-tile .tile-support{display:block;overflow:visible}.metadata-row{margin-top:var(--card-padding-top);flex-wrap:wrap;gap:8px;display:flex}.metadata-chip{align-items:center;gap:var(--chip-icon-gap);padding:var(--chip-padding-vertical) var(--chip-padding-horizontal);background:color-mix(in srgb, var(--md-sys-color-secondary-container) 55%, transparent);color:var(--md-sys-color-on-secondary-container);font-size:var(--type-label-medium-size);font-weight:var(--type-label-medium-weight);line-height:var(--type-label-medium-line-height);letter-spacing:var(--type-label-medium-tracking);transition:border-radius .35s var(--motion-emphasized-decelerate);border-radius:999px;display:inline-flex}.content-tile:hover .metadata-chip{border-radius:8px}.metadata-chip md-icon{width:var(--metadata-icon-size);height:var(--metadata-icon-size);font-size:var(--metadata-icon-size);color:currentColor}.email-tile{column-gap:var(--card-padding-top);grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;display:grid}.email-leading{width:18px;height:18px;color:var(--md-sys-color-on-surface-variant);font-size:18px}.email-trailing{width:16px;height:16px;color:var(--md-sys-color-on-surface-variant);font-size:16px}.email-copy{flex-direction:column;min-width:0;display:flex}.email-address{font-size:var(--type-body-large-size);font-weight:var(--type-body-large-weight);line-height:var(--type-body-large-line-height);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.email-hint{color:var(--md-sys-color-on-surface-variant);font-size:var(--type-body-small-size);font-weight:var(--type-body-small-weight);line-height:var(--type-body-small-line-height);margin-top:4px}.filter-panel{justify-content:center;display:flex}.theme-segmented-button-set{width:min(100%,420px)}md-outlined-segmented-button{--md-outlined-segmented-button-container-height:36px;--md-outlined-segmented-button-label-text-font:var(--md-ref-typeface-plain);--md-outlined-segmented-button-label-text-size:var(--type-label-large-size);--md-outlined-segmented-button-label-text-weight:var(--type-label-large-weight);--md-outlined-segmented-button-label-text-line-height:var(--type-label-large-line-height);font-family:var(--md-ref-typeface-plain);font-size:var(--type-label-large-size);font-weight:var(--type-label-large-weight);line-height:var(--type-label-large-line-height);letter-spacing:0}.section-summary{color:var(--md-sys-color-on-surface-variant);font-size:var(--type-body-small-size);font-weight:var(--type-body-small-weight);line-height:var(--type-body-small-line-height);margin:0}.tile-stack{gap:var(--card-padding-top);flex-direction:column;display:flex}#publication-list{gap:var(--list-item-gap)}.tile-stack md-circular-progress{align-self:center;margin:8px 0}.gallery-panel{padding:var(--card-padding-top) var(--section-inset-horizontal) var(--section-inset-horizontal)}.gallery-grid{gap:var(--list-item-gap);margin-top:var(--card-padding-top);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.gallery-tile{aspect-ratio:1;border-radius:var(--media-radius);background:var(--md-sys-color-surface-container-highest);cursor:pointer;width:100%;min-width:0;transition:border-radius .4s var(--motion-spring), box-shadow .3s var(--motion-standard), transform .4s var(--motion-spring);border:0;padding:0;display:block;position:relative;overflow:hidden;transform:scale(1)}.gallery-tile:hover{border-radius:calc(var(--media-radius) + 8px);box-shadow:0 4px 12px color-mix(in srgb, var(--md-sys-color-shadow) 18%, transparent);transform:scale(1.012)}.gallery-tile:active{box-shadow:none;border-radius:12px;transform:scale(.98)}.gallery-tile-featured{grid-area:span 2/span 2}.gallery-tile img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;transition:transform .6s var(--motion-emphasized-decelerate);display:block;transform:scale(1)}.gallery-tile:hover img{transform:scale(1.025)}.gallery-tile.is-viewing img{opacity:0}.gallery-tile:after{content:"";background:linear-gradient(to top, color-mix(in srgb, var(--md-sys-color-scrim) 48%, transparent), transparent 44%);opacity:0;transition:opacity .25s var(--motion-standard);position:absolute;inset:0}.gallery-tile:hover:after,.gallery-tile:focus-visible:after{opacity:1}.gallery-tile-label{z-index:1;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-size:var(--type-label-medium-size);font-weight:var(--type-label-medium-weight);line-height:var(--type-label-medium-line-height);letter-spacing:var(--type-label-medium-tracking);opacity:0;transition:opacity .22s var(--motion-standard), transform .4s var(--motion-spring);border-radius:999px;padding:4px 10px;position:absolute;bottom:8px;right:8px;transform:translateY(8px)scale(.92)}.gallery-tile:hover .gallery-tile-label,.gallery-tile:focus-visible .gallery-tile-label{opacity:1;transform:translateY(0)scale(1)}.gallery-note{margin-top:var(--section-gap)}.site-footer{color:var(--md-sys-color-on-surface);font-size:var(--type-body-small-size);font-weight:var(--type-body-small-weight);line-height:var(--type-body-small-line-height);text-align:center;padding:24px 16px}.gallery-viewer{--viewer-image-aspect:.823;--md-dialog-container-color:var(--md-sys-color-surface-container-high);--md-dialog-container-shape:28px;--md-dialog-supporting-text-font:var(--md-ref-typeface-plain);--md-dialog-supporting-text-size:var(--type-body-medium-size);--md-dialog-supporting-text-line-height:var(--type-body-medium-line-height);--md-dialog-supporting-text-weight:var(--type-body-medium-weight);--md-dialog-supporting-text-tracking:0;width:min(calc((min(72dvh, 720px) * var(--viewer-image-aspect)) + 32px), calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}.gallery-viewer *,.viewer-canvas,#viewer-image{-webkit-user-select:none;user-select:none}.viewer-content{gap:8px;padding:12px 16px 14px;display:grid}.viewer-footer{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.viewer-location{align-items:center;gap:8px;min-width:0;display:flex}.viewer-location md-icon{color:var(--md-sys-color-primary);flex:none;font-size:20px}#viewer-title{min-width:0;color:var(--md-sys-color-on-surface);font-family:var(--md-ref-typeface-plain);font-size:var(--type-body-large-size);font-weight:500;line-height:var(--type-body-large-line-height);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}#viewer-close-button{flex:none;margin:-6px -8px -6px 0}.viewer-canvas{border-radius:var(--media-radius);background:var(--md-sys-color-surface-container-lowest);cursor:zoom-in;touch-action:none;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:relative;overflow:hidden}#viewer-image{border-radius:calc(var(--media-radius) - 4px);object-fit:contain;transform-origin:50%;width:auto;max-width:100%;height:auto;max-height:min(72dvh,720px);transition:opacity .18s var(--motion-standard), transform .24s var(--motion-emphasized-decelerate);will-change:transform;-webkit-user-drag:none;display:block;transform:translate(0,0)scale(1)}#viewer-loading{z-index:1;background:color-mix(in srgb, var(--md-sys-color-surface-container-high) 88%, transparent);--md-circular-progress-size:48px;border-radius:999px;padding:10px;position:absolute}#viewer-loading[hidden]{display:none}.gallery-viewer.is-loading #viewer-image{opacity:.72}.gallery-viewer.is-closing{--md-dialog-container-color:transparent}.gallery-viewer.is-closing .viewer-canvas{background:0 0}.gallery-viewer.is-closing .viewer-footer{opacity:0}.gallery-viewer.is-zoomed .viewer-canvas{cursor:grab}.gallery-viewer.is-panning .viewer-canvas{cursor:grabbing}.gallery-viewer.is-panning #viewer-image{transition:none}.toast{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:40;background:var(--md-sys-color-inverse-surface);max-width:min(420px,100vw - 32px);color:var(--md-sys-color-inverse-on-surface);box-shadow:0 3px 8px color-mix(in srgb, var(--md-sys-color-shadow) 26%, transparent);opacity:0;pointer-events:none;transition:opacity .22s var(--motion-standard), transform .4s var(--motion-spring);border-radius:4px;padding:14px 16px;position:fixed;transform:translate(-50%,16px)scale(.92)}.toast.visible{opacity:1;transform:translate(-50%)scale(1)}.reveal{opacity:0;transform:translateY(24px)scale(.985)}.reveal.is-visible{opacity:1;transition:opacity .4s var(--motion-standard), transform .5s var(--motion-emphasized-decelerate);transform:translateY(0)scale(1)}@media (width<=1100px){.wide-action{display:none}#more-menu-button{display:inline-flex}}@media (width<=700px){:root{--app-bar-expanded-height:220px;--type-card-header-size:22px;--type-card-header-line-height:28px;--container-radius:14px;--card-padding-horizontal:12px;--card-padding-top:8px;--card-padding-bottom:12px;--section-gap:10px;--card-inner-horizontal:12px;--card-inner-vertical:10px;--section-inset-horizontal:10px;--section-inset-top:8px;--section-inset-bottom:10px;--list-item-gap:6px;--chip-padding-horizontal:8px;--chip-padding-vertical:4px;--chip-icon-gap:4px;--chip-label-horizontal:8px;--metadata-icon-size:12px}.app-bar-flexible-content{padding:0 16px 20px}.expanded-app-title{font-size:32px;line-height:40px}.tile-title{line-height:var(--type-title-medium-line-height);-webkit-line-clamp:2}.tile-support{line-height:var(--type-body-medium-compact-line-height);-webkit-line-clamp:2}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-tile-featured{aspect-ratio:16/10;grid-area:span 1/span 2}}@media (width<=430px){.app-title{font-size:var(--type-title-large-size)}}
