:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17191d;background:#fafafa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue: #2563eb;--muted: #686d76;--line: #e8e9ed}*{box-sizing:border-box}body{margin:0;min-width:320px}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}button:disabled{cursor:default;opacity:.3}button,select{border-radius:0}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:focus:not(:focus-visible),[tabindex="-1"]:focus{outline:none}a{color:var(--blue)}h1,h2,h3,h4,p{margin:0}svg{flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:14px;background:#fff}.skip-link:focus{top:10px}.app-header{height:66px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{height:100%;display:flex;align-items:center;gap:46px;padding:0 36px}.wordmark{border:0;background:none;min-height:44px;display:flex;align-items:center;font-size:28px;font-weight:800;letter-spacing:-1.7px;padding:0}.brand-period{color:var(--blue)}.brand-mark{display:flex;gap:3px;margin-right:10px;transform:rotate(-13deg)}.brand-mark i{display:block;width:8px;height:20px;border-radius:5px;background:var(--blue)}.brand-mark i+i{height:14px;align-self:flex-end;background:#151b2b}.desktop-nav{align-self:stretch;display:flex;gap:28px}.desktop-nav button{min-width:48px;background:none;border:0;border-bottom:3px solid transparent;padding:3px 2px 0;font-size:14px;font-weight:600;color:var(--muted)}.desktop-nav button[aria-current]{color:var(--blue);border-bottom-color:var(--blue)}.desktop-nav button:hover{color:var(--blue)}.header-spacer{flex:1}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:0;border-radius:50%;padding:0;text-decoration:none;color:inherit}.icon-button:hover{background:#f0f2f6}.settings-trigger{color:#686d76}.main-content{padding:34px 36px 0;min-height:calc(100dvh - 66px);outline:none}.album-content{max-width:1440px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:600;margin-bottom:8px}h1{font-size:34px;line-height:1.16;letter-spacing:-1.2px;font-weight:730;overflow-wrap:anywhere}.subheading{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.5}.sort-control{display:inline-flex;align-items:center;gap:4px;color:#4f5560;flex-shrink:0}.sort-control select{appearance:auto;color:inherit;border:0;background:transparent;min-height:44px;font-size:12px;padding:0 5px;cursor:pointer;max-width:150px}.date-group{margin-bottom:30px}.date-heading{display:flex;align-items:center;margin-bottom:12px;gap:12px}.date-heading h2{font-size:15px;font-weight:600;letter-spacing:-.2px}.mosaic{width:100%}.mosaic-row{display:flex;gap:2px;margin-bottom:2px}.photo-tile{flex:0 0 auto;position:relative;display:block;height:100%;padding:0;border:0;background:#e9eaec;overflow:hidden;min-width:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.photo-tile:focus-visible{outline-offset:-4px;z-index:1}.thumbnail{display:block;width:100%;height:100%;position:relative;overflow:hidden;background:#e9eaec}.thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.thumbnail-missing{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#727782;font-size:10px;text-align:center;padding:8px}.tile-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;color:#fff;background:#0009;font-size:12px;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:0;transition:opacity .15s ease}.photo-tile:focus-visible .tile-caption,.photo-tile.caption-held .tile-caption{opacity:1}.video-badge{position:absolute;bottom:8px;right:8px;padding:5px 7px;display:flex;align-items:center;gap:5px;border-radius:3px;background:#000b;color:#fff;font-size:11px;font-variant-numeric:tabular-nums}.photo-tile.caption-held .video-badge{bottom:40px}@media(hover:hover){.photo-tile:hover .tile-caption{opacity:1}.photo-tile:hover .video-badge{bottom:40px}}.pagination{min-height:132px;padding:24px 0 32px;display:flex;flex-direction:column;align-items:center;gap:15px}.pagination p{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid transparent;padding:11px 19px;background:var(--blue);border-radius:5px;color:#fff;font-size:13px;font-weight:600;text-decoration:none;line-height:1.5}.button:hover{background:#1d4ed8}.load-more{background:#fff;color:var(--blue);border-color:#d9e2f8}.load-more:hover{background:#eff4ff}.end-mark{display:flex;gap:4px;padding:7px}.end-mark i{width:4px;height:4px;background:#b6becf;border-radius:50%}.end-mark i+i{background:#d7dce5}.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-bottom:48px}.album-card{display:block;min-width:0;text-align:left;border:0;padding:0;background:transparent}.album-cover{display:block;aspect-ratio:1;position:relative;background:#e9eaec;overflow:hidden}.album-open{position:absolute;bottom:12px;left:12px;background:#0009;display:inline-flex;gap:7px;align-items:center;color:#fff;font-size:11px;padding:8px 10px;border-radius:3px}.album-card:hover .album-open{background:var(--blue)}.album-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;font-weight:650;line-height:1.45;margin:13px 0 5px;overflow-wrap:anywhere}.album-card-count{display:block;color:var(--muted);font-size:12px;line-height:1.5}.cover-missing{display:flex;height:100%;width:100%;align-items:center;justify-content:center;color:#8b909a}.back-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:12px;color:var(--muted);background:none;border:0;padding:0;margin:-14px 0 14px}.back-link:hover{color:var(--blue)}.album-hero{display:flex;align-items:center;gap:30px;margin-bottom:24px}.album-hero-cover{width:240px;height:210px;flex:0 0 240px}.album-hero-copy{max-width:720px;min-width:0;padding:12px 0}.album-hero-copy h1{font-size:clamp(26px,3vw,38px);line-height:1.2}.album-description{margin-top:16px}.album-description p{font-size:13px;color:#555b66;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.description-collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.album-description button{background:none;border:0;color:var(--blue);padding:0;min-height:44px;font-size:12px;font-weight:600}.album-toolbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;margin-bottom:10px}.album-toolbar>span{font-size:12px;color:var(--muted)}.empty-state{min-height:55dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:44px 20px;text-align:center}.empty-state>svg{color:#939dad}.empty-state h1,.empty-state h2{font-size:25px;letter-spacing:-.6px}.empty-state p{font-size:14px;color:var(--muted);max-width:360px;line-height:1.6}.empty-state .button{margin-top:8px}.loading-mosaic{display:grid;grid-template-columns:1.4fr .8fr 1.3fr 1fr;gap:2px}.loading-mosaic span{height:220px;background:#e9eaed}.loading-state h1{font-size:27px;color:#686d76}.offline-notice{position:relative;text-align:center;padding:12px 16px;font-size:12px;color:#67471d;background:#fff5df}.unavailable-notice{position:fixed;bottom:90px;left:50%;transform:translate(-50%);z-index:20;background:#fff;border:1px solid var(--line);padding:12px 18px;border-radius:6px;font-size:13px;width:min(90%,420px)}.unavailable-notice button{background:none;border:0;color:var(--blue);padding:0;min-height:44px}.mobile-nav{display:none}.viewer{position:fixed;inset:0;height:100dvh;z-index:30;background:#000;color:#fff;overflow:hidden}.viewer-stage{position:absolute;inset:64px 56px 92px;display:flex;align-items:center;justify-content:center}.image-surface{width:100%;height:100%;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}.viewer-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .18s ease}.is-zoomed .viewer-image{transition:none}.is-zoomed .image-surface{cursor:grab}.is-zoomed .image-surface:active{cursor:grabbing}.viewer-stage video{display:block;width:100%;height:100%;max-width:1600px;max-height:100%;object-fit:contain}.viewer-chrome{transition:opacity .16s ease}.viewer-top{position:absolute;top:0;left:0;right:0;padding:max(12px,env(safe-area-inset-top)) 20px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#000b}.viewer .icon-button:hover{background:#ffffff21}.viewer .icon-button{background:#0005}.viewer-actions{display:flex;gap:4px}.viewer-position{position:absolute;left:50%;transform:translate(-50%);font-size:13px;font-variant-numeric:tabular-nums;color:#eceef2}.viewer-position span{color:#959ba7;margin:0 3px}.viewer-prev,.viewer-next{position:absolute;top:50%;transform:translateY(-50%)}.viewer-prev{left:12px}.viewer-next{right:12px}.viewer-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:16px 70px max(20px,env(safe-area-inset-bottom));background:#000b;pointer-events:none}.viewer-caption h2{font-size:14px;line-height:1.4;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-caption p{color:#989da8;font-size:11px;line-height:1.5;margin-top:5px}.chrome-hidden .viewer-chrome{opacity:0;pointer-events:none;visibility:hidden}.chrome-hidden .viewer-stage{inset:0}.viewer-error{display:flex;align-items:center;flex-direction:column;gap:15px;text-align:center;padding:20px}.viewer-error>svg{color:#888f9d}.viewer-error h2{font-size:22px;letter-spacing:-.5px}.viewer-error p{font-size:13px;color:#aaaebb;line-height:1.5}.viewer-error .secondary{color:#fff;background:#23252b;border-color:#454954}.reveal-controls:focus{width:auto;height:auto;clip:auto;margin:0;padding:10px;left:50%;bottom:100px;transform:translate(-50%);background:#fff;color:#000;z-index:3}.info-scrim,.settings-scrim{position:fixed;inset:0;background:#0006;display:flex;justify-content:flex-end;z-index:40}.info-sheet{width:400px;max-width:100%;height:100%;color:#17191d;background:#fff;overflow-y:auto;overscroll-behavior:contain}.sheet-heading{display:flex;align-items:center;justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) 20px 16px;border-bottom:1px solid var(--line);gap:8px}.sheet-heading h2{font-size:16px;font-weight:650}.info-content{padding:26px 24px max(32px,env(safe-area-inset-bottom))}.info-content h3{font-size:23px;line-height:1.3;letter-spacing:-.5px;overflow-wrap:anywhere}.full-description{font-size:14px;line-height:1.75;margin-top:15px;white-space:pre-wrap;overflow-wrap:anywhere;color:#555b66}.metadata{display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px 10px;border-top:1px solid var(--line);margin:25px 0 0;padding-top:24px;font-size:12px;line-height:1.5}.metadata dt{color:var(--muted)}.metadata dd{margin:0;overflow-wrap:anywhere}.filename{color:#555b66}.info-section{margin-top:25px}.info-section h4{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}.info-section p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:11px;line-height:1.4;padding:6px 9px;border-radius:3px;background:#f1f3f6;color:#555b66;overflow-wrap:anywhere;max-width:100%}.download-button{margin-top:30px;width:100%}.settings-scrim{z-index:50;justify-content:center;align-items:center}.settings-sheet{width:380px;max-width:calc(100% - 32px);background:#fff;border-radius:8px;overflow:auto;max-height:90dvh}.settings-content{padding:30px 26px 34px}.local-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--blue);background:#eef3ff;border-radius:50%;margin-bottom:18px}.settings-content h3{font-size:21px;letter-spacing:-.4px}.settings-content p{font-size:13px;color:#606674;line-height:1.75;margin-top:12px}.settings-content .settings-note{padding-top:18px;margin-top:24px;border-top:1px solid var(--line);font-size:12px}@media(min-width:1600px){.album-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1100px){.album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.header-inner{padding:0 24px}.main-content{padding:28px 24px 0}}@media(max-width:600px){.app-header{height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.header-inner{padding:0 16px;gap:16px}.wordmark{font-size:26px}.brand-mark{margin-right:8px}.brand-mark i{width:7px;height:18px}.brand-mark i+i{height:13px}.desktop-nav{display:none}.main-content{padding:24px 12px calc(74px + env(safe-area-inset-bottom));min-height:calc(100dvh - 56px)}.page-heading{padding:0 4px;margin-bottom:26px;gap:8px}.eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:7px}h1{font-size:30px;letter-spacing:-.9px}.subheading{font-size:12px;margin-top:8px}.sort-control{gap:1px;align-self:flex-end}.sort-control select{font-size:11px;padding:0 1px;max-width:124px}.date-heading{margin-bottom:10px;padding:0 4px}.date-heading h2{font-size:13px}.date-group{margin-bottom:24px}.tile-caption{padding:9px 10px;font-size:11px}.video-badge{bottom:5px;right:5px;font-size:10px;padding:4px 5px}.photo-tile:hover .video-badge{bottom:5px}.pagination{min-height:112px;padding:20px 0 28px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:0 4px 24px}.album-card-title{font-size:13px;line-height:1.45;margin-top:11px}.album-card-count{font-size:11px}.album-open{font-size:10px;bottom:8px;left:8px;padding:7px 8px}.back-link{margin:-12px 4px 10px}.album-hero{display:block;margin-bottom:20px}.album-hero-cover{width:100%;height:190px}.album-hero-cover .thumbnail img{object-position:center 40%}.album-hero-copy{padding:20px 4px 0}.album-hero-copy h1{font-size:27px;line-height:1.22;letter-spacing:-.7px}.album-description{margin-top:13px}.album-description p{font-size:12px;line-height:1.7}.album-toolbar{padding:6px 4px 0}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10;height:calc(62px + env(safe-area-inset-bottom));padding:4px 0 env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line)}.mobile-nav button{flex:1;min-height:44px;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#777e8b;font-size:10px;font-weight:600}.mobile-nav button[aria-current]{color:var(--blue)}.loading-mosaic{grid-template-columns:1.3fr 1fr}.loading-mosaic span{height:138px}.loading-state h1{font-size:22px}.viewer-stage{inset:calc(66px + env(safe-area-inset-top)) 0 calc(92px + env(safe-area-inset-bottom))}.viewer-top{padding-left:8px;padding-right:8px}.viewer-actions{gap:0}.viewer-position{position:static;transform:none;margin-left:2px;margin-right:auto;font-size:11px}.viewer-prev,.viewer-next{top:auto;bottom:max(23px,env(safe-area-inset-bottom));transform:none}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-caption{padding:17px 60px max(24px,env(safe-area-inset-bottom))}.viewer-caption h2{font-size:12px}.viewer-caption p{font-size:10px}.info-scrim{align-items:flex-end}.info-sheet{width:100%;height:auto;max-height:85dvh;border-radius:12px 12px 0 0}.info-sheet .sheet-heading{padding-top:12px}.info-content{padding:24px 22px max(30px,env(safe-area-inset-bottom))}.info-content h3{font-size:22px}.settings-scrim{align-items:flex-end}.settings-sheet{width:100%;max-width:100%;border-radius:12px 12px 0 0}.settings-content{padding-bottom:max(34px,env(safe-area-inset-bottom))}}@media(max-height:500px)and (orientation:landscape){.viewer-stage{inset:56px 56px 64px}.viewer-caption{padding-top:8px;padding-bottom:10px}.viewer-prev,.viewer-next{top:50%;bottom:auto;transform:translateY(-50%)}.album-hero-cover{height:150px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.viewer-page-status{position:absolute;left:50%;bottom:110px;transform:translate(-50%);max-width:calc(100% - 48px);text-align:center;color:#fff;background:#171717;padding:12px 18px;border-radius:8px}.empty-state input{display:block;width:min(320px,80vw);padding:12px;margin:10px auto 20px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#222}
