.bookmark-wall[data-astro-cid-dxj6db5o]{column-count:3;column-gap:20px;max-width:1100px}.bookmark-card[data-astro-cid-dxj6db5o]{display:block;break-inside:avoid;margin-bottom:20px;text-decoration:none;color:inherit;cursor:pointer;--rot: 0deg;transform:rotate(var(--rot));transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .4s cubic-bezier(.16,1,.3,1)}.bookmark-card[data-astro-cid-dxj6db5o]:hover{transform:rotate(0) translateY(-6px);z-index:2}.bookmark-card-inner[data-astro-cid-dxj6db5o]{background:var(--surface);border-radius:var(--radius-lg);padding:28px 26px;border:1.5px solid var(--border-light);box-shadow:var(--shadow-sm);position:relative;transition:border-color .3s var(--ease-out),box-shadow .4s var(--ease-out);overflow:hidden}.bookmark-card-inner[data-astro-cid-dxj6db5o]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),rgba(7,193,96,.25));border-radius:3px 3px 0 0;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}.bookmark-card[data-astro-cid-dxj6db5o]:hover .bookmark-card-inner[data-astro-cid-dxj6db5o]{border-color:var(--accent);box-shadow:var(--shadow-lg)}.bookmark-card[data-astro-cid-dxj6db5o]:hover .bookmark-card-inner[data-astro-cid-dxj6db5o]:before{transform:scaleX(1)}.bookmark-icon[data-astro-cid-dxj6db5o]{font-size:40px;line-height:1;margin-bottom:16px;display:block;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.bookmark-card[data-astro-cid-dxj6db5o]:hover .bookmark-icon[data-astro-cid-dxj6db5o]{transform:scale(1.15)}.bookmark-name[data-astro-cid-dxj6db5o]{font-size:18px;font-weight:680;margin-bottom:8px;color:var(--text);letter-spacing:-.3px;line-height:1.3}.bookmark-desc[data-astro-cid-dxj6db5o]{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}.bookmark-footer[data-astro-cid-dxj6db5o]{display:flex;align-items:center;justify-content:space-between}.bookmark-tag[data-astro-cid-dxj6db5o]{font-size:11.5px;font-weight:600;padding:4px 12px;background:var(--accent-light);color:var(--accent-dark);border-radius:10px;letter-spacing:.2px}.bookmark-arrow[data-astro-cid-dxj6db5o]{font-size:15px;color:var(--text-muted);opacity:0;transform:translate(-6px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),color .3s var(--ease-out)}.bookmark-card[data-astro-cid-dxj6db5o]:hover .bookmark-arrow[data-astro-cid-dxj6db5o]{opacity:1;transform:translate(0);color:var(--accent)}.bookmark-card-empty[data-astro-cid-dxj6db5o]{pointer-events:none;opacity:.4;transform:rotate(.3deg)}.bookmark-card-empty[data-astro-cid-dxj6db5o] .bookmark-card-inner[data-astro-cid-dxj6db5o]{border-style:dashed;text-align:center;padding:32px 26px}.bookmark-card-empty[data-astro-cid-dxj6db5o] .bookmark-card-inner[data-astro-cid-dxj6db5o]:before{display:none}.bookmark-icon-plus[data-astro-cid-dxj6db5o]{font-size:32px;color:var(--text-muted);margin-bottom:12px}.bookmark-desc-muted[data-astro-cid-dxj6db5o]{color:var(--text-muted);font-size:13.5px}@media(max-width:900px){.bookmark-wall[data-astro-cid-dxj6db5o]{column-count:2}}@media(max-width:560px){.bookmark-wall[data-astro-cid-dxj6db5o]{column-count:1;max-width:400px;margin:0 auto}}.windowswap-hero{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;margin:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.windowswap-hero.can-immersive{cursor:pointer}.ws-video-wrapper{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .8s ease}.windowswap-hero.video-loaded .ws-video-wrapper{opacity:1}.ws-iframe{position:absolute;top:50%;left:50%;width:177.78vh;height:56.25vw;min-width:100vw;min-height:100vh;transform:translate(-50%,-50%);border:none}.ws-fallback-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 75% 20%,rgba(7,193,96,.06) 0%,transparent 55%),linear-gradient(180deg,var(--surface, #fcfaf7) 0%,var(--bg, #f7f5f0) 100%)}.windowswap-hero.video-visible .hero-float .hero-text,.windowswap-hero.video-visible .hero-float .hero-title,.windowswap-hero.video-visible .hero-float .hero-sub{color:#ffffffe6}.windowswap-hero.video-visible .hero-float .hero-title em{color:var(--accent, #07c160)}.windowswap-hero.video-visible .hero-float .hero-badge{color:#fff;background:#ffffff1a;border-color:#ffffff29;backdrop-filter:blur(8px);transition:color .5s ease,background .5s ease,border-color .5s ease}.windowswap-hero.video-visible .hero-float .hero-badge-dot{background:var(--accent, #07c160)}.windowswap-hero.video-visible .hero-float .hero-sub{text-shadow:0 1px 4px rgba(0,0,0,.5)}.windowswap-hero.video-visible .hero-float .hero-glyph{color:#ffffff0a;transition:color .5s ease}.windowswap-hero.video-visible .hero-float .ws-btn{background:#ffffff14;color:#fff;border-color:#ffffff38;backdrop-filter:blur(8px);transition:background .5s ease,color .5s ease,border-color .5s ease}.windowswap-hero.video-visible .hero-float .ws-btn:hover{background:#ffffff29;border-color:#ffffff73;color:#fff}.windowswap-hero:not(.video-visible) .hero-float .hero-glyph{animation:glyphBounce 2.5s ease-in-out infinite}.windowswap-hero .hero-float .hero-glyph{transition:color .5s ease .6s,transform .5s ease-out}@keyframes glyphBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.windowswap-hero .hero-float .hero-text{transition:transform .7s ease,color .5s ease}.windowswap-hero .hero-float .hero-visual{transition:transform .7s ease}.windowswap-hero.immersive .hero-text{transform:translate(-120vw)!important;pointer-events:none!important}.windowswap-hero.immersive .hero-visual{transform:translate(120vw)!important}.windowswap-hero.immersive .ws-immersive-hint{opacity:1!important;animation:wsHintPulse 2s ease-in-out infinite;pointer-events:none}.windowswap-hero.fullscreen-mode .ws-immersive-hint{opacity:0!important;pointer-events:none!important}.windowswap-hero:fullscreen{background:#000}.windowswap-hero:fullscreen .ws-video-wrapper{inset:0}.ws-immersive-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:8px;color:#fff6;font-size:12px;pointer-events:none;opacity:0;transition:opacity .5s ease}.windowswap-hero.video-visible .ws-immersive-hint{opacity:1;animation:wsHintPulse 3s ease-in-out infinite}@keyframes wsHintPulse{0%,to{opacity:.35}50%{opacity:.7}}@media(max-width:768px){.hero-float{padding:70px 20px 40px;align-items:flex-end;grid-template-columns:1fr;gap:0}.hero-float .hero-visual{display:none}}
