/* Floating notices keep their own glass material; document text stays opaque. */
.ny-notifications{position:fixed;z-index:5100;top:var(--ny-notice-top,100px);right:max(18px,env(safe-area-inset-right));display:grid;gap:10px;width:min(360px,calc(100vw - 36px));pointer-events:none}
.ny-notification{--notice-accent:var(--ny-info,#91d2dd);display:flex;align-items:flex-start;gap:12px;position:relative;pointer-events:auto;padding:15px 12px 15px 18px;border:1px solid var(--ny-line-strong,#91d2dd55);border-radius:15px;background:var(--ny-workspace-chrome,var(--ny-raised,#1c333b));color:var(--ny-text,#ecf3f4);box-shadow:var(--ny-workspace-shadow,0 12px 30px #071e1926),inset 0 1px #ffffff33;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font:14px/1.65 var(--nylon-type-ui,system-ui);animation:ny-notice-arrive 320ms cubic-bezier(.22,.8,.24,1)}
.ny-notification::before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:3px;border-radius:3px;background:var(--notice-accent)}
.ny-notification[data-kind=error]{--notice-accent:var(--ny-danger,#efb0a7)}
.ny-notification[data-kind=success]{--notice-accent:var(--ny-success,#c8e791)}
.ny-notification-copy{min-width:0;flex:1;overflow-wrap:anywhere}
.ny-notification strong{display:block;font-size:14px;font-weight:650}
.ny-notification p{margin:4px 0 0;color:var(--ny-text,#ecf3f4);font-size:13px;line-height:1.75}
.ny-notification button{flex:none;border:0;border-radius:7px;padding:1px 7px;background:transparent;color:var(--ny-muted,#a7bac2);font:22px/1.3 var(--nylon-type-ui,system-ui);cursor:pointer}
.ny-notification button:hover{background:var(--ny-hover,#91d2dd14);color:var(--ny-text,#ecf3f4)}
.ny-notification button:focus-visible{outline:2px solid var(--ny-focus,#91d2dd);outline-offset:2px}
.ny-notification.is-leaving{animation:ny-notice-leave 200ms ease-in forwards;pointer-events:none}
@keyframes ny-notice-arrive{from{transform:translateX(18px)}to{transform:none}}
@keyframes ny-notice-leave{to{transform:translateX(18px);opacity:0}}
@media(prefers-reduced-motion:reduce){.ny-notification,.ny-notification.is-leaving{animation:none;transform:none}}
@media(forced-colors:active){.ny-notification{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}.ny-notification::before{background:Highlight}}
@media print{.ny-notifications{display:none}}
