body{background:var(--color-bg);margin:0}button,label,a,[role=button]{-webkit-tap-highlight-color:transparent}a{color:var(--color-accent-700)}a:hover{color:var(--color-accent)}@keyframes ljFade{0%{opacity:0;transform:scale(1.015)}to{opacity:1;transform:none}}@keyframes ljRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ljShimmer{0%{background-position:-180% 0}to{background-position:280% 0}}.lj-screen{background:var(--color-bg);justify-content:center;min-height:100dvh;display:flex}.lj-column{width:100%;max-width:460px}.lj-column--guest{padding:32px 24px 64px}.lj-column--gallery{padding:20px 24px 120px}.lj-section{margin-top:44px}.lj-monogram{align-items:center;gap:10px;margin-bottom:20px;display:flex}.lj-monogram i{border-radius:50%;display:block}.lj-monogram i:first-child{background:var(--color-accent-2-300);width:34px;height:34px}.lj-monogram i:last-child{background:var(--color-accent-300);width:20px;height:20px}.lj-figure{cursor:pointer;background:var(--color-neutral-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:0;padding:0;transition:box-shadow .2s,transform .2s;overflow:hidden}@media (hover:hover){.lj-figure:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.lj-shot{background-position:0 0;background-size:200% 100%;background-image:linear-gradient(100deg, var(--color-neutral-200) 18%, var(--color-accent-100) 38%, var(--color-neutral-200) 58%);animation:1.5s linear infinite ljShimmer;position:relative;overflow:hidden}.lj-shot[data-ready=true]{background-image:none;animation:none}.lj-shot img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .35s}.lj-shot[data-ready=true] img{opacity:1}.lj-shot[data-failed=true]{background:var(--color-neutral-200)}.lj-shot[data-failed=true] img{display:none}.lj-shot-missing{text-align:center;color:var(--color-neutral-600);justify-content:center;align-items:center;padding:8px;font-size:11px;display:flex;position:absolute;inset:0}.lj-caption{min-height:18px;color:inherit;align-items:center;gap:6px;margin-top:10px;padding:0 12px;font-size:12px;display:flex}.lj-caption .lj-who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lj-caption .lj-time{flex:none;font-size:11px}.lj-figure-challenge{color:var(--color-accent-700);padding:2px 12px 12px;font-size:11px;line-height:1.25}.lj-like{cursor:pointer;height:18px;font-family:var(--font-body);background:0 0;border:none;flex:none;align-items:center;gap:5px;margin-left:auto;padding:0;font-size:12px;line-height:1;display:inline-flex}.lj-like-glyph{flex:none;width:17px;height:18px;display:inline-block;position:relative}.lj-like-glyph span{text-align:center;font-size:15px;line-height:18px;position:absolute;inset:0}.lj-masonry{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.lj-masonry-col{flex-direction:column;gap:16px;min-width:0;display:flex}.lj-grid-3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.lj-dock{z-index:40;padding:14px 24px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--color-bg) 62%, transparent);pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.lj-dock .btn{width:100%;max-width:412px;box-shadow:var(--shadow-md);pointer-events:auto;padding:16px;font-size:16px}.lj-lightbox{z-index:60;background:var(--color-neutral-900);flex-direction:column;animation:.3s both ljFade;display:flex;position:fixed;inset:0}.lj-lightbox-stage{flex:1;min-height:0;padding:8px 10px 4px;display:flex;position:relative}.lj-lightbox-stage img{object-fit:contain;border-radius:var(--radius-sm);flex:1;width:100%;min-width:0;height:100%;min-height:0}.lj-lightbox-close{z-index:2;width:40px;height:40px;font-family:var(--font-body);cursor:pointer;color:var(--color-neutral-100);background:color-mix(in srgb, var(--color-neutral-900) 55%, transparent);border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:19px;line-height:1;display:inline-flex;position:absolute;top:12px;right:14px}.lj-lightbox-close:hover{background:color-mix(in srgb, var(--color-neutral-900) 75%, transparent)}.lj-lightbox-missing{color:var(--color-neutral-400);flex:1;justify-content:center;align-items:center;margin:0;font-size:14px;display:flex}.lj-lightbox-step{z-index:1;cursor:pointer;width:34%;color:var(--color-neutral-400);background:0 0;border:none;align-items:center;font-size:30px;display:flex;position:absolute;top:0;bottom:0}.lj-lightbox-step--prev{justify-content:flex-start;padding-left:14px;left:0}.lj-lightbox-step--next{justify-content:flex-end;padding-right:14px;right:0}.lj-lightbox-meta{padding:8px 16px calc(10px + env(safe-area-inset-bottom));color:var(--color-neutral-100);align-items:center;gap:12px;display:flex}.lj-lightbox-info{flex-direction:column;flex:1;min-width:0;display:flex}.lj-lightbox-who{font-family:var(--font-heading);font-weight:var(--font-heading-weight);text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.2;overflow:hidden}.lj-lightbox-challenge{color:var(--color-accent-400);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}.lj-lightbox-like{font-family:var(--font-body);border:1px solid color-mix(in srgb, var(--color-neutral-100) 28%, transparent);flex:none;gap:7px;padding:8px 16px;font-size:15px;font-weight:600}.lj-lightbox-like:hover{background:color-mix(in srgb, var(--color-neutral-100) 10%, transparent)}.lj-goal-track{background:var(--color-neutral-200);border-radius:999px;height:7px;overflow:hidden}.lj-goal-fill{border-radius:999px;height:100%;transition:width .4s}.lj-gauge{background:var(--color-neutral-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;margin-top:24px;padding:22px 20px 20px;display:flex}@keyframes ljSpin{to{transform:rotate(360deg)}}.lj-uploading{z-index:80;background:color-mix(in srgb, var(--color-neutral-900) 62%, transparent);justify-content:center;align-items:center;padding:24px;animation:.2s both ljFade;display:flex;position:fixed;inset:0}.lj-uploading-card{text-align:center;background:var(--color-bg);border-radius:var(--radius-lg);width:100%;max-width:340px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:14px;padding:30px 26px 26px;display:flex}.lj-spinner{border:4px solid var(--color-accent-200);border-top-color:var(--color-accent);border-radius:50%;flex:none;width:40px;height:40px;animation:.8s linear infinite ljSpin}.lj-uploading-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px;line-height:1.15}.lj-uploading-hint{color:color-mix(in srgb, var(--color-text) 60%, transparent);text-wrap:pretty;margin:0;font-size:13px}.lj-toast{background:var(--color-accent-2-200);color:var(--color-accent-2-800);border-radius:999px;margin-top:14px;padding:12px 18px;font-size:14px;animation:.4s both ljRise}.lj-error{background:var(--color-accent-200);color:var(--color-accent-800);border-radius:999px;margin-top:14px;padding:12px 18px;font-size:14px;animation:.4s both ljRise}.lj-chip{border:1px solid var(--color-divider);cursor:pointer;text-align:left;padding:6px 12px;font-family:inherit;font-size:12px}.lj-chip--lg{padding:7px 13px;font-size:13px}.lj-file-label{border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-md);padding:20px;font-size:17px;position:relative}.lj-file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.lj-file-input:disabled{cursor:not-allowed}.lj-file-label:has(.lj-file-input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.lj-file-label:has(.lj-file-input:disabled){opacity:.45;cursor:not-allowed}.lj-podium-row{border-radius:var(--radius-lg);align-items:center;gap:12px;padding:12px 16px;display:flex}.lj-podium-rank{font-family:var(--font-heading);flex:none;width:26px;font-size:22px}.lj-podium-who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.lj-spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}
