.ach-badge{--ach:var(--color-acc);--ach-soft:var(--color-acc-soft);position:relative;display:inline-grid;place-items:center;flex:none}.ach-badge.is-communication{--ach:#2f7bff;--ach-soft:#dcecff}.ach-badge.is-projects{--ach:#ff7a1a;--ach-soft:#ffe7d6}.ach-badge.is-home{--ach:var(--color-ink);--ach-soft:var(--color-paper)}.ach-badge svg{position:absolute;inset:0}.ach-seg{stroke:var(--color-sand-2)}.ach-seg.on{stroke:var(--ach)}.ach-core{display:grid;place-items:center;width:72%;height:72%;border-radius:50%;background:var(--ach-soft);color:var(--color-ink)}.ach-badge.is-glow .ach-core{box-shadow:0 0 0 0 color-mix(in srgb,var(--ach) 45%,transparent);animation:ach-glow 1.8s ease-out .4s 2}@keyframes ach-glow{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ach) 45%,transparent)}to{box-shadow:0 0 0 18px color-mix(in srgb,var(--ach) 0%,transparent)}}.ach-moment-wrap{position:fixed;right:20px;bottom:20px;z-index:60;width:min(380px,calc(100vw - 32px));pointer-events:none}.ach-moment{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:18px 20px 18px 18px;border-radius:22px;background:var(--color-white,#fff);box-shadow:0 24px 60px -24px rgba(12,15,19,.45),0 0 0 1px rgba(12,15,19,.04);pointer-events:auto}.ach-moment-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--color-muted)}.ach-moment-close:hover{background:var(--color-paper);color:var(--color-ink)}.ach-moment-badge{position:relative;display:grid;place-items:center}.ach-sparks{position:absolute;inset:50% auto auto 50%;width:0;height:0}.ach-sparks i{position:absolute;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--color-acc);opacity:0;transform:rotate(var(--a)) translateY(0);animation:ach-spark .9s cubic-bezier(.22,1,.36,1) var(--d) forwards}.ach-moment.is-communication .ach-sparks i{background:#2f7bff}.ach-moment.is-projects .ach-sparks i{background:#ff7a1a}.ach-sparks i:nth-child(3n){background:var(--color-warn)}@keyframes ach-spark{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.6)}25%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-52px) scale(1)}}.ach-moment-eyebrow{margin:0 0 2px;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted)}.ach-moment-name{margin:0;font-size:18px;font-weight:800;line-height:1.2}.ach-moment-msg{margin:4px 0 12px;font-size:13.5px;line-height:1.45;color:var(--color-ink-2)}.ach-moment-actions{display:flex;flex-wrap:wrap;gap:6px}@media (max-width:1023px){.ach-moment-wrap{right:16px;left:16px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom))}}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.ach-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;border-radius:var(--radius-card);background:var(--color-white,#fff);box-shadow:var(--shadow-soft)}.ach-card-name{margin:0;font-size:17px;font-weight:800}.ach-card-text{margin:0;font-size:13.5px;line-height:1.45;color:var(--color-ink-2)}.ach-card-meta{margin-top:auto;font-size:11.5px;color:var(--color-muted)}.ach-module{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-paper);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-3)}@media (prefers-reduced-motion:reduce){.ach-badge.is-glow .ach-core,.ach-sparks i{animation:none}}