/* Small, finite motion; content and controls never wait for an animation. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--motion-fast:160ms;--motion-soft:280ms}
.brand{isolation:isolate}
.brand-symbol{transform-origin:50% 65%;animation:brand-arrive 650ms var(--ease-out);transition:transform var(--motion-soft) var(--ease-out),box-shadow var(--motion-soft) ease}
.brand-symbol::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 20%,#ffffff80 48%,transparent 75%);opacity:0;pointer-events:none;animation:brand-glint 850ms ease-out 250ms 1}
.brand-symbol>span{transition:transform var(--motion-soft) var(--ease-out)}
.brand-period{transition:text-shadow var(--motion-soft) ease}
.brand:focus-visible .brand-symbol{transform:rotate(0) translateY(-1px);box-shadow:0 4px 16px #eaff8726}
.brand:focus-visible .brand-symbol>span{transform:translate(2px,-2px)}
.button,.icon-button,.profile-button,.filter-chip,.idea-starters button,.music-chip{transition:background var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-soft) ease,transform var(--motion-fast) var(--ease-out)}
.button:active:not(:disabled),.icon-button:active:not(:disabled),.idea-starters button:active{transform:scale(.98)}
.club-card{transition:border-color var(--motion-soft) ease,box-shadow var(--motion-soft) ease,transform var(--motion-soft) var(--ease-out)}
.club-card:hover{transform:none}
.club-card:hover img{transform:none}
.club-image-button img{transition:transform 450ms var(--ease-out)}
.idea-card{transition:border-color var(--motion-soft) ease,box-shadow var(--motion-soft) ease}
.nav-link::after{transition:background var(--motion-soft) ease,opacity var(--motion-soft) ease}
dialog[open]{animation:surface-in 220ms var(--ease-out)}
dialog[open]::backdrop{animation:backdrop-in 180ms ease-out}
.dm-reaction-menu:not([hidden]){animation:surface-in 140ms var(--ease-out)}
.activity-options{border:1px solid #403449;border-radius:13px;margin:20px 0;background:#1b1520}
.activity-options>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:15px 17px;color:#eadced;font-size:14px;font-weight:500;min-height:48px}
.activity-options>summary::-webkit-details-marker{display:none}
.activity-options>summary::after{content:'+';font-size:22px;font-weight:400;line-height:1;transition:transform var(--motion-fast) ease}
.activity-options[open]>summary::after{transform:rotate(45deg)}
.activity-options>summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:12px}
.activity-options-body{padding:0 17px 8px}.activity-options-body>label{display:block;margin:15px 0}
.activity-options .idea-detail-fields{padding:0;border:0;border-top:1px solid #403449;border-radius:0;margin-top:22px}
.activity-options .idea-detail-fields legend{padding:0 0 12px}.activity-options .ideas-note{font-size:12px}
.idea-dialog>p{margin-bottom:20px}.idea-dialog #idea-form-submit{width:100%;min-height:46px}
.map-activity-cta{padding:20px}.map-activity-cta p{max-width:440px}
@media(hover:hover) and (pointer:fine){
 .brand:hover .brand-symbol{transform:rotate(0) translateY(-1px);box-shadow:0 4px 16px #eaff8726}
 .brand:hover .brand-symbol>span{transform:translate(2px,-2px)}
 .brand:hover .brand-period{text-shadow:0 0 14px #eaff8760}
 .button:hover:not(:disabled){transform:translateY(-1px)}
 .club-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0003}
 .club-card:hover .club-image-button img{transform:scale(1.025)}
 .idea-card:hover{border-color:#80618a;box-shadow:0 8px 24px #0002}
 .activity-options>summary:hover{background:#ffffff04}
}
@keyframes brand-arrive{from{transform:rotate(-15deg) scale(.92)}to{transform:rotate(-7deg) scale(1)}}
@keyframes brand-glint{0%,100%{opacity:0}45%{opacity:.5}}
@keyframes surface-in{from{opacity:.35;transform:translateY(6px) scale(.995)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:.6}to{opacity:1}}
@media(max-width:650px){.activity-options>summary{font-size:13px}.map-activity-cta{padding:18px}.idea-dialog{max-height:90dvh}.idea-dialog input,.idea-dialog select,.idea-dialog textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .brand:hover .brand-symbol,.brand:focus-visible .brand-symbol{transform:rotate(-7deg)}
 .brand:hover .brand-symbol>span,.brand:focus-visible .brand-symbol>span,.button:hover:not(:disabled),.button:active:not(:disabled),.icon-button:active:not(:disabled),.idea-starters button:active,.club-card:hover,.club-card:hover .club-image-button img{transform:none}
}
