.overlay-light{display:block}.overlay-dark,[data-color-scheme=dark] .overlay-light{display:none}[data-color-scheme=dark] .overlay-dark{display:block}.sky-btn{color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;transition:all .2s;position:relative}.sky-btn:hover{color:#fffffff2;background:#ffffff1a;border-color:#3b82f64d;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.effect-base{color:#fff;transition:all .3s;display:inline-block;position:relative}.moment-card,.moment-floating-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1)}.moment-floating-card:hover{box-shadow:0 20px 40px color-mix(in srgb, var(--color-primary) 30%, transparent),  0 0 20px color-mix(in srgb, var(--color-primary) 20%, transparent);transform:translateY(-8px)scale(1.02)}.moment-card-with-glow{position:relative;overflow:hidden}.moment-glow-container{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.moment-glow{opacity:0;background:radial-gradient(circle, color-mix(in oklch, var(--color-primary) 50%, transparent), color-mix(in oklch, var(--color-primary) 30%, transparent), color-mix(in oklch, var(--color-primary) 10%, transparent), transparent 70%);filter:blur(20px);border-radius:50%;width:200px;height:200px;transition:opacity .3s ease-out;position:absolute;transform:translate(-50%,-50%)}.moment-card-content{z-index:10;position:relative}.moment-card-with-glow:hover{border-color:color-mix(in oklch, var(--color-primary) 20%, transparent);box-shadow:0 8px 32px color-mix(in oklch, var(--color-primary) 50%, transparent), 0 0 20px color-mix(in oklch, var(--color-primary) 20%, transparent),;transform:translateY(-2px)}.moment-floating-card-with-glow{position:relative;overflow:hidden}.moment-floating-card-with-glow .moment-glow-container{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.moment-floating-card-with-glow .moment-glow{opacity:0;background:radial-gradient(circle, color-mix(in oklch, var(--color-primary) 50%, transparent), color-mix(in oklch, var(--color-primary) 30%, transparent), color-mix(in oklch, var(--color-primary) 10%, transparent), transparent 70%);filter:blur(15px);border-radius:50%;width:150px;height:150px;transition:opacity .3s ease-out;position:absolute;transform:translate(-50%,-50%)}.wave-container{width:100%;height:120px;position:relative;overflow:hidden}.wave{width:100%;height:100%;position:absolute;bottom:0;left:0}.wave-1{animation:18s linear infinite wave-animation}.wave-2{animation:12s linear infinite reverse wave-animation}.wave-3{animation:8s linear infinite wave-animation}.wave-base{position:absolute;bottom:0}@keyframes wave-animation{0%{transform:translate(0)}50%{transform:translate(-25%)}to{transform:translate(0)}}.wave-dot{opacity:.6;filter:blur(1px);background:radial-gradient(circle,#fffc 0%,#fff0 70%);border-radius:50%;animation:8s ease-in-out infinite dot-float;position:absolute}.wave-dot-1{width:12px;height:12px;animation-delay:0s;bottom:40%;left:10%}.wave-dot-2{width:8px;height:8px;animation-delay:1s;bottom:30%;left:30%}.wave-dot-3{width:15px;height:15px;animation-delay:2s;bottom:50%;left:50%}.wave-dot-4{width:10px;height:10px;animation-delay:3s;bottom:25%;left:70%}.wave-dot-5{width:6px;height:6px;animation-delay:4s;bottom:45%;left:85%}@keyframes dot-float{0%,to{opacity:.6;transform:translateY(0)scale(1)}50%{opacity:.9;transform:translateY(-15px)scale(1.2)}}@media (prefers-reduced-motion:reduce){.wave,.wave-dot{animation:none}}.gallery-card-3d{perspective:1000px}.gallery-card-3d .gallery-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.gallery-card-3d:hover .gallery-card-inner{transform:rotateY(180deg)}.gallery-card-3d .gallery-card-front,.gallery-card-3d .gallery-card-back{backface-visibility:hidden;position:absolute;inset:0}.gallery-card-3d .gallery-card-back{transform:rotateY(180deg)}.doc-tilt-card{perspective:1000px}.doc-tilt-inner{transform-style:preserve-3d;transition:transform .1s ease-out,box-shadow .3s}.doc-tilt-card:hover .doc-tilt-inner{box-shadow:0 20px 40px -10px color-mix(in oklch, var(--color-primary) 20%, transparent), 0 0 20px color-mix(in oklch, var(--color-primary) 10%, transparent)}.doc-glow-spot{background:radial-gradient(circle, color-mix(in oklch, var(--color-primary) 40%, transparent) 0%, color-mix(in oklch, var(--color-primary) 20%, transparent) 30%, transparent 70%);pointer-events:none;opacity:0;filter:blur(20px);z-index:1;border-radius:50%;width:150px;height:150px;transition:opacity .3s;position:absolute;transform:translate(-50%,-50%)}.doc-tilt-card:hover .doc-glow-spot{opacity:1}.friend-avatar-wrap{perspective:500px}.friend-avatar{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1)}.friend-card:hover .friend-avatar{transform:rotateY(360deg)scale(1.1)}.friend-halo{background:conic-gradient(from 0deg, var(--color-primary), var(--color-secondary), var(--color-accent), var(--color-primary));opacity:0;z-index:-1;border-radius:50%;transition:opacity .3s;animation:3s linear infinite paused halo-spin;position:absolute;inset:-4px}.friend-card:hover .friend-halo{opacity:1;animation-play-state:running}@keyframes halo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.friend-ripple{border:2px solid var(--color-primary);opacity:0;pointer-events:none;z-index:-2;border-radius:50%;position:absolute;inset:0;transform:scale(1)}.friend-card:hover .friend-ripple{animation:1.5s ease-out infinite ripple-expand}.friend-card:hover .friend-ripple.delay-1{animation-delay:.5s}@keyframes ripple-expand{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2)}}.heatmap-card{transition:box-shadow .3s;position:relative;overflow:hidden}[data-theme=dark] .heatmap-card,[data-color-scheme=dark] .heatmap-card{box-shadow:0 0 30px color-mix(in oklch, var(--color-primary) 12%, transparent), 0 4px 20px #0006}.heatmap-skeleton{aspect-ratio:53/7;background:var(--color-base-100);border-radius:.5rem;justify-content:center;align-items:center;min-height:120px;display:flex;position:relative}.heatmap-skeleton-row{gap:3px;margin-bottom:3px;display:flex}.heatmap-skeleton-cell{background:linear-gradient(90deg, oklch(from var(--color-base-content) l c h / .05) 25%, oklch(from var(--color-base-content) l c h / .1) 50%, oklch(from var(--color-base-content) l c h / .05) 75%);background-size:200% 100%;border-radius:2px;width:11px;height:11px;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.heatmap-error{text-align:center;color:oklch(from var(--color-base-content) l c h / .5);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.heatmap-error-icon{opacity:.4;width:3rem;height:3rem;margin-bottom:.75rem}.heatmap-error-text{margin-bottom:1rem;font-size:.875rem}.heatmap-retry-btn{background:oklch(from var(--color-primary) l c h / .1);color:var(--color-primary);border:1px solid oklch(from var(--color-primary) l c h / .2);cursor:pointer;border-radius:9999px;padding:.5rem 1rem;font-size:.75rem;transition:all .2s}.heatmap-retry-btn:hover{background:oklch(from var(--color-primary) l c h / .2);transform:translateY(-1px)}.article-heatmap-svg{width:100%;height:auto;display:block}.article-heatmap-cell{cursor:pointer;transform-origin:50%;transition:all .15s}.article-heatmap-cell:hover{filter:brightness(1.15);transform:scale(1.15)}.article-heatmap-cell.has-posts:hover{filter:brightness(1.2) drop-shadow(0 0 6px var(--color-primary));transform:scale(1.2)}.heatmap-cell-animated{opacity:0;animation:.4s cubic-bezier(.25,.46,.45,.94) forwards heatmap-cell-enter}@keyframes heatmap-cell-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.heatmap-label{fill:oklch(from var(--color-base-content) l c h / .4);-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:9px}.heatmap-month-label{fill:oklch(from var(--color-base-content) l c h / .5);font-size:10px;font-weight:500}.heatmap-tooltip{z-index:9999;background:var(--color-base-100);border:1px solid oklch(from var(--color-base-content) l c h / .1);box-shadow:0 4px 12px oklch(from var(--color-base-content) l c h / .1);color:var(--color-base-content);pointer-events:none;opacity:0;border-radius:.5rem;max-width:250px;padding:.5rem .75rem;font-size:.75rem;transition:all .15s;position:fixed;transform:translateY(5px)}.heatmap-tooltip.visible{opacity:1;transform:translateY(0)}.heatmap-tooltip-date{color:var(--color-primary);margin-bottom:.25rem;font-weight:600}.heatmap-tooltip-count{color:oklch(from var(--color-base-content) l c h / .7)}.heatmap-tooltip-posts{border-top:1px solid oklch(from var(--color-base-content) l c h / .1);margin-top:.5rem;padding-top:.5rem}.heatmap-tooltip-post{color:oklch(from var(--color-base-content) l c h / .8);white-space:nowrap;text-overflow:ellipsis;padding:.25rem 0;display:block;overflow:hidden}.heatmap-tooltip-post:before{content:"•";color:var(--color-primary);margin-right:.5rem}.heatmap-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.heatmap-empty-icon{width:4rem;height:4rem;color:oklch(from var(--color-base-content) l c h / .2);margin-bottom:1rem}.heatmap-empty-text{color:oklch(from var(--color-base-content) l c h / .4);font-size:.875rem}@media (width<=640px){.heatmap-legend{display:none}.heatmap-footer{justify-content:center}.heatmap-cell-animated{animation-duration:.15s}}@media (width<=768px){.heatmap-label{font-size:8px}.heatmap-month-label{font-size:9px}}.github-heatmap-img{background:var(--color-base-100);border-radius:.5rem;width:100%;height:auto;padding:.5rem;transition:opacity .3s}
