.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body:has(.gallery){overflow:hidden}.gallery{--g-gap:22px;--g-radius:24px;height:calc(100dvh - 44px);font-family:var(--font-ui);letter-spacing:normal;background:#fff;grid-template-columns:clamp(340px,31vw,460px) minmax(0,1fr);display:grid}.g-rail{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:30px 16px;padding:26px 22px 60px 28px;display:grid;overflow-y:auto}.g-rail::-webkit-scrollbar{display:none}.folder{text-align:center;color:var(--text);-webkit-tap-highlight-color:transparent;flex:none;text-decoration:none;display:block}.f-tile{aspect-ratio:1;background:#efefef;border-radius:23%;width:100%;transition:background .25s,transform .3s cubic-bezier(.2,.7,.2,1);display:block;position:relative}.f-ph{left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--s) * 1%);aspect-ratio:1;transform:rotate(calc(var(--r) * 1deg));background:#d8d8d8;border-radius:16%;transition:transform .4s cubic-bezier(.2,.7,.2,1);position:absolute;overflow:hidden;box-shadow:0 2px 7px #0000002e}.f-ph img{object-fit:cover;width:100%;height:100%;display:block}.folder:hover .f-tile{background:#e9e9e9;transform:translateY(-2px)}.folder:hover .f-ph{transform:translate(calc((var(--x) - 33) * .12px), calc((var(--y) - 30) * .12px)) rotate(calc(var(--r) * 1.35deg)) scale(1.04)}.folder.is-active .f-tile{background:#dedede}.f-title{margin-top:11px;font-size:15px;font-weight:600;line-height:1.25;display:block}.f-sub{color:#a6a6a6;margin-top:1px;font-size:14px;display:block}.folder.is-active .f-sub{color:#6f6f6f}.g-add{text-align:center;color:#6f6f6f;font:inherit;letter-spacing:normal;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;align-self:start;margin:0;padding:0;display:block}.g-add .f-tile{background:#f5f5f5;place-items:center;display:grid}.g-add-plus{color:#bdbdbd;font-size:54px;font-weight:200;line-height:1;transition:color .2s}.g-add .f-title{color:#6f6f6f;font-weight:500}.g-add:hover .f-tile,.g-add.is-over .f-tile{background:#e9e9e9;transform:translateY(-2px)}.g-add:hover .g-add-plus,.g-add.is-over .g-add-plus{color:#6f6f6f}.g-stage{touch-action:none;min-width:0;padding:0 26px 0 6px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 34px calc(100% - 34px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 34px calc(100% - 34px),#0000 100%)}.g-cols{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));gap:var(--g-gap);height:100%;transition:opacity .2s;display:grid}.g-cols.is-fading{opacity:0}.g-col{min-width:0;position:relative;overflow:hidden}.g-track{gap:var(--g-gap);will-change:transform;flex-direction:column;display:flex}.g-unit{gap:var(--g-gap);flex-direction:column;display:flex}.g-item{aspect-ratio:var(--ar);border-radius:var(--g-radius);cursor:zoom-in;-webkit-tap-highlight-color:transparent;background:#ececec;flex:none;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s;display:block;position:relative;overflow:hidden}.g-item img{object-fit:cover;-webkit-user-drag:none;user-select:none;width:100%;height:100%;display:block}.g-item:hover{z-index:2;transform:scale(1.018);box-shadow:0 14px 34px #0000002e}.g-cap{color:#fff;opacity:0;background:linear-gradient(#0000,#0000008c);padding:36px 16px 14px;font-size:14px;font-weight:500;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.g-item:hover .g-cap{opacity:1}.gallery[data-static] .g-stage{touch-action:auto;scrollbar-width:none;overflow-y:auto}.gallery[data-static] .g-cols{align-items:start;height:auto;padding:10px 0 80px}.gallery[data-static] .g-col{overflow:visible}.g-caption{backdrop-filter:blur(14px);color:#6f6f6f;pointer-events:none;background:#ffffffc7;border-radius:999px;align-items:baseline;gap:10px;margin:0;padding:9px 16px;font-size:14px;display:flex;position:absolute;bottom:18px;left:18px;box-shadow:0 2px 12px #0000001a}.g-caption b{color:var(--text);font-weight:600}.g-empty{color:#a6a6a6;place-items:center;height:100%;margin:0;font-size:16px;display:grid}.g-lb{z-index:300;backdrop-filter:blur(18px);opacity:0;background:#fffffff0;place-items:center;transition:opacity .25s;display:grid;position:fixed;inset:0}.g-lb[hidden]{display:none}.g-lb.is-open{opacity:1}.g-lb figure{flex-direction:column;align-items:center;gap:12px;max-width:min(94vw,1500px);max-height:92vh;margin:0;display:flex}.g-lb img{object-fit:contain;border-radius:14px;max-width:100%;max-height:calc(92vh - 40px);display:block;box-shadow:0 20px 60px #00000038}.g-lb figcaption{min-height:22px;font:14px var(--font-ui);color:#6f6f6f;text-align:center}.g-lb button{width:46px;height:46px;color:var(--text);font:300 26px/1 var(--font-ui);cursor:pointer;background:#0000000f;border:0;border-radius:50%;place-items:center;transition:background .15s;display:grid;position:absolute}.g-lb button:hover{background:#0000001f}.g-lb-close{top:16px;right:18px}.g-lb-prev{top:50%;left:18px}.g-lb-next{top:50%;right:18px}@media (width<=900px){.gallery{--g-gap:12px;--g-radius:16px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.g-rail{scroll-snap-type:x proximity;flex-direction:row;gap:14px;padding:12px 16px 14px;scroll-padding-inline:16px;display:flex;overflow:auto hidden}.folder,.g-add{scroll-snap-align:start;flex:0 0 116px}.g-add-plus{font-size:40px}.f-title{margin-top:8px;font-size:14px}.f-sub{font-size:13px}.g-stage{padding:0 12px}.g-caption{bottom:14px;left:24px}.g-lb-prev,.g-lb-next{top:auto;bottom:18px}.g-lb-prev{left:calc(50% - 56px)}.g-lb-next{right:calc(50% - 56px)}}@media print{.gallery{height:auto}}
