.demo-banner{display:flex;flex-direction:column;gap:.25rem;padding:.625rem 1rem;border-bottom:1px solid var(--aio-outline);background:var(--aio-surface);color:var(--aio-on-surface)}.demo-banner-expired,.demo-banner-warning{background:var(--aio-warning-container);color:var(--aio-on-warning-container)}.demo-banner-title{margin:0;font-size:.8125rem;font-weight:600}.demo-banner-detail,.demo-banner-expiry{margin:0;font-size:.8125rem;line-height:1.4}.demo-banner-expiry{font-weight:600}body:has(>.demo-banner){display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}body:has(>.demo-banner) .shell{flex:1 1;min-height:0}@media (max-width:30rem){.demo-banner{padding:.5rem .75rem}}.ntf{position:relative}.ntf,.ntf-slot{display:inline-flex;align-items:center}.ntf-slot{-webkit-margin-start:auto;margin-inline-start:auto}.ntf-docked{position:fixed;inset-block-end:16px;inset-inline-start:16px;z-index:35}.ntf-dock-reserved{-webkit-padding-after:72px;padding-block-end:72px}.ntf-dock-hidden .ntf-docked{display:none}.ntf-dock-hidden.ntf-dock-reserved{-webkit-padding-after:0;padding-block-end:0}.ntf-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:36px;block-size:36px;padding:0;font:inherit;color:var(--aio-on-surface);cursor:pointer;background:transparent;border:0;border-radius:50%}.ntf-bell:hover{color:var(--aio-on-surface-hover);background:var(--aio-surface-hover)}.ntf-docked .ntf-bell{inline-size:44px;block-size:44px;background:var(--aio-surface);box-shadow:var(--aio-elevation-overlay)}.ntf-docked .ntf-bell:hover{background:var(--aio-surface-hover)}.chat-room-mute-offer:focus-visible,.chat-room-mute-summary:focus-visible,.ntf-action:focus-visible,.ntf-bell:focus-visible,.ntf-chip:focus-visible,.ntf-icon-button:focus-visible,.ntf-input:focus-visible,.ntf-settings-link:focus-visible,.ntf-text-action:focus-visible{outline:2px solid var(--aio-focus-ring);outline-offset:2px}.ntf-bell-count{position:absolute;inset-block-start:2px;inset-inline-end:-3px;box-sizing:border-box;min-inline-size:16px;block-size:16px;padding:0 4px;font-size:.6875rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:16px;color:var(--aio-on-call-end);text-align:center;white-space:nowrap;pointer-events:none;background:var(--aio-call-end);border-radius:999px;box-shadow:0 0 0 2px var(--aio-surface)}.ntf-docked .ntf-bell-count{inset-block-start:4px;inset-inline-end:0}.ntf-panel{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:30;display:flex;flex-direction:column;width:min(400px,calc(100vw - 32px));max-height:min(70vh,600px);overflow:hidden;color:var(--aio-on-surface-raised);background:var(--aio-surface-raised);border:1px solid var(--aio-outline-variant);border-radius:14px;box-shadow:var(--aio-elevation-overlay)}.ntf-panel-header{display:flex;flex:none;gap:8px;align-items:center;padding:10px 8px 10px 16px;border-bottom:1px solid var(--aio-outline-variant)}.ntf-panel-title{margin:0;font-size:1rem;font-weight:600}.ntf-panel-title:focus-visible{outline:2px solid var(--aio-focus-ring);outline-offset:4px}.ntf-panel-count{min-inline-size:20px;padding:1px 7px;font-size:.75rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:18px;color:var(--aio-on-primary-container);text-align:center;background:var(--aio-primary-container);border-radius:999px}.ntf-panel-close{-webkit-margin-start:auto;margin-inline-start:auto}.ntf-panel-body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;-webkit-padding-after:4px;padding-block-end:4px;overflow-y:auto}.ntf-icon-button{display:inline-flex;flex:none;align-items:center;justify-content:center;inline-size:32px;block-size:32px;padding:0;color:var(--aio-on-surface-muted);cursor:pointer;background:transparent;border:0;border-radius:8px}.ntf-icon-button:hover{color:var(--aio-on-surface-hover);background:var(--aio-surface-hover)}.ntf-section{display:flex;flex-direction:column}.ntf-section-head{display:flex;gap:8px;align-items:center;justify-content:space-between;min-height:36px;padding:8px 12px 2px 16px}.ntf-section-title{margin:0;font-size:.6875rem;font-weight:600;color:var(--aio-on-surface-muted);text-transform:uppercase;letter-spacing:.06em}.ntf-section>.ntf-section-title{padding:14px 16px 2px}.ntf-text-action{min-height:28px;padding:2px 6px;font:inherit;font-size:.8125rem;font-weight:600;color:var(--aio-primary);cursor:pointer;background:transparent;border:0;border-radius:6px}.ntf-text-action:hover:not(:disabled){background:var(--aio-surface-hover)}.ntf-text-action:disabled{color:var(--aio-on-surface-disabled);cursor:default}.ntf-section>.ntf-error,.ntf-section>.ntf-muted{margin:4px 16px 8px}.ntf-list{display:flex;flex-direction:column;padding:0;margin:0;list-style:none}.ntf-list:empty{display:none}.ntf-list>*+*{border-top:1px solid var(--aio-outline-variant)}.ntf-item{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;grid-gap:2px 12px;gap:2px 12px;align-items:start;padding:12px 8px 12px 16px;color:var(--aio-on-surface-raised)}.ntf-item:focus-within,.ntf-item:hover{background:var(--aio-surface-hover)}.ntf-item-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--aio-on-primary-container);background:var(--aio-primary-container);border-radius:50%}.ntf-item-icon,.ntf-item-trail{inline-size:32px;block-size:32px}.ntf-item-trail{position:relative}.ntf-item-dot{position:absolute;inset-block-start:8px;inset-inline-end:12px;inline-size:8px;block-size:8px;background:var(--aio-primary);border-radius:50%}.ntf-item-dismiss{position:absolute;inset:0;opacity:0}.ntf-item:focus-within .ntf-item-dot,.ntf-item:hover .ntf-item-dot{opacity:0}.ntf-item-dismiss:focus-visible,.ntf-item:hover .ntf-item-dismiss{opacity:1}@media (hover:none){.ntf-item-dot{display:none}.ntf-item-dismiss{opacity:1}}.ntf-item .ntf-item-actions,.ntf-item-error{grid-column:2/4;-webkit-margin-before:6px;margin-block-start:6px}.ntf-item .ntf-item-reply{gap:6px}.ntf-chip{min-height:28px;padding:2px 12px;font:inherit;font-size:.8125rem;font-weight:500;color:var(--aio-on-surface);cursor:pointer;background:var(--aio-surface);border:1px solid var(--aio-outline-variant);border-radius:999px}.ntf-chip:hover{color:var(--aio-on-surface-hover);background:var(--aio-surface-hover);border-color:var(--aio-outline)}.ntf-chip-primary,.ntf-chip-primary:hover{color:var(--aio-on-primary);background:var(--aio-primary);border-color:var(--aio-primary)}.ntf-chip-primary:hover{filter:brightness(1.08)}.ntf-empty{display:flex;flex-direction:column;gap:6px;align-items:center;padding:28px 24px 24px;text-align:center}.ntf-empty-icon{display:inline-flex;align-items:center;justify-content:center;inline-size:44px;block-size:44px;-webkit-margin-after:4px;margin-block-end:4px;color:var(--aio-on-primary-container);background:var(--aio-primary-container);border-radius:50%}.ntf-empty-title{margin:0;font-weight:600}.ntf-item-body{display:flex;flex:1 1 200px;flex-direction:column;gap:2px;min-width:0}.ntf-item-title{font-weight:600}.ntf-item-text,.ntf-item-title{overflow-wrap:anywhere}.ntf-item-meta{display:flex;gap:6px;font-size:.75rem;color:var(--aio-on-surface-muted)}.ntf-item-meta>span+span:not(.ntf-item-meta-action):before{-webkit-margin-end:6px;margin-inline-end:6px;content:"·"}.ntf-item .ntf-item-meta{align-items:center;min-height:28px}.ntf-item-meta-action{-webkit-margin-start:auto;margin-inline-start:auto}.ntf-item .ntf-item-title{font-size:.875rem;line-height:1.35}.ntf-item .ntf-item-text{font-size:.875rem;line-height:1.4;color:var(--aio-on-surface-raised)}.ntf-item-actions{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.ntf-action{min-height:32px;padding:4px 10px;font:inherit;font-size:.875rem;color:var(--aio-on-surface);cursor:pointer;background:var(--aio-surface);border:1px solid var(--aio-outline);border-radius:10px}.ntf-action:hover:not(:disabled){color:var(--aio-on-surface-hover);background:var(--aio-surface-hover)}.ntf-action:disabled{color:var(--aio-on-surface-disabled);cursor:default}.ntf-action-primary{color:var(--aio-on-primary);background:var(--aio-primary);border-color:var(--aio-primary)}.ntf-action-primary:hover:not(:disabled){color:var(--aio-on-primary);background:var(--aio-primary);filter:brightness(1.08)}.ntf-action-primary:disabled{color:var(--aio-on-surface-disabled);background:var(--aio-surface);border-color:var(--aio-outline-variant)}.ntf-muted{margin:0;font-size:.875rem}.ntf-hint,.ntf-muted{color:var(--aio-on-surface-muted)}.ntf-hint{font-size:.8125rem}.ntf-error{margin:0;font-size:.875rem;color:var(--aio-on-danger-container)}p.ntf-error,span.ntf-error[role=alert]{padding:6px 10px;background:var(--aio-danger-container);border-radius:10px}.ntf-settings-link{display:flex;flex:none;gap:8px;align-items:center;padding:12px 16px;font-size:.875rem;font-weight:500;color:var(--aio-on-surface-muted);text-decoration:none;border-top:1px solid var(--aio-outline-variant)}.ntf-settings-link:hover{color:var(--aio-on-surface-hover);background:var(--aio-surface-hover)}.ntf-toasts{position:fixed;inset-block-end:16px;inset-inline-end:16px;z-index:40;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px));pointer-events:none}.ntf-toast{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:space-between;padding:12px 16px;pointer-events:auto;color:var(--aio-on-surface-raised);background:var(--aio-surface-raised);border:1px solid var(--aio-outline-variant);border-radius:14px;box-shadow:var(--aio-elevation-overlay);animation:ntf-toast-in .18s ease-out}.ntf-ask{display:grid;grid-template-columns:auto 1fr;grid-gap:10px 12px;gap:10px 12px;align-items:start}.ntf-ask .ntf-item-actions{grid-column:2}.ntf-promo{margin:0 0 16px;animation:none}.ntf-ask-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;color:var(--aio-on-primary-container);background:var(--aio-primary-container);border-radius:50%}@keyframes ntf-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ntf-toast{animation:none}}.ntf-settings{display:flex;flex-direction:column;gap:18px;max-width:720px;min-height:100vh;min-height:100dvh;padding:24px 20px 48px;margin:0 auto;background:var(--aio-background);color:var(--aio-on-background)}.ntf-settings-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.ntf-settings-title{margin:0;font-size:1.375rem;font-weight:600;letter-spacing:-.01em}.ntf-settings-lede{margin:0;color:var(--aio-on-background-muted)}.ntf-form{gap:16px}.ntf-fieldset,.ntf-form{display:flex;flex-direction:column}.ntf-fieldset{gap:12px;min-width:0;padding:18px;margin:0;background:var(--aio-surface);color:var(--aio-on-surface);border:1px solid var(--aio-outline-variant);border-radius:14px}.ntf-legend{padding:0;margin:0 0 4px;font-size:.9375rem;font-weight:600}.ntf-field{display:flex;flex-direction:column;gap:4px}.ntf-field-inline{flex-direction:row;gap:8px;align-items:center}.ntf-field-label{font-size:.8125rem;font-weight:600;color:var(--aio-on-surface-muted)}.ntf-input{width:100%;padding:8px 10px;font:inherit;color:var(--aio-on-surface);background:var(--aio-surface);border:1px solid var(--aio-outline);border-radius:10px}.ntf-input[aria-invalid=true]{border-color:var(--aio-danger)}.ntf-input-time{width:auto}.ntf-device-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.ntf-check{display:inline-flex;gap:8px;align-items:center;font-size:.9375rem}.ntf-windows{gap:10px;padding:0;list-style:none}.ntf-window-fields,.ntf-windows{display:flex;flex-direction:column;margin:0}.ntf-window-fields{gap:8px;padding:12px;border:1px solid var(--aio-outline-variant);border-radius:10px}.ntf-window-legend{padding:0 4px;font-size:.8125rem;font-weight:600;color:var(--aio-on-surface-muted)}.ntf-window-days,.ntf-window-times{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ntf-preview{padding:10px 12px;margin:0;font-size:.9375rem;color:var(--aio-on-primary-container);background:var(--aio-primary-container);border-radius:10px}.ntf-preview:empty{display:none}.ntf-save-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ntf-save-status{font-size:.875rem;color:var(--aio-on-background-muted)}.ntf-person{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;margin-block:8px}.ntf-person-status{font-size:.8125rem;color:var(--aio-on-surface-muted)}.chat-room-mute-menu{position:relative;-webkit-margin-before:2px;margin-block-start:2px;font-size:.75rem}.chat-room-mute-summary{display:inline-block;padding:2px 8px;color:var(--aio-on-surface);cursor:pointer;list-style:none;border:1px solid var(--aio-outline);border-radius:6px}.chat-room-mute-summary::-webkit-details-marker{display:none}.chat-room-mute-summary:hover{color:var(--aio-on-surface-hover);background:var(--aio-surface-hover)}.chat-room-mute-offers{position:absolute;inset-inline-start:0;z-index:20;display:flex;flex-direction:column;gap:2px;min-width:220px;padding:6px;margin:4px 0 0;list-style:none;color:var(--aio-on-surface-raised);background:var(--aio-surface-raised);border:1px solid var(--aio-outline-variant);border-radius:10px;box-shadow:var(--aio-elevation-overlay)}.chat-room-mute-offers:empty{display:none}.chat-room-mute-offer{width:100%;padding:6px 8px;font:inherit;font-size:.8125rem;color:var(--aio-on-surface);text-align:start;cursor:pointer;background:var(--aio-surface);border:1px solid transparent;border-radius:6px}.chat-room-mute-offer:hover:not(:disabled){color:var(--aio-on-surface-hover);background:var(--aio-surface-hover)}.chat-room-mute-offer:disabled{color:var(--aio-on-surface-disabled);cursor:default}.chat-room-mute-failed{color:var(--aio-on-danger-container)}@media (max-width:480px){.ntf-panel{position:fixed;inset-block-start:56px;inset-inline:8px;width:auto;max-height:min(70vh,600px)}.ntf-window-times{flex-direction:column;align-items:flex-start}}