/* iOS-style notification groups; scroll gestures stay in the notification list. */
.lock-stage.notification-stage,.notification-stage .lock-screen{touch-action:pan-y}
.lock-notification-scroll{position:absolute;inset:46px 0 99px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;padding:0 13px 25px;mask-image:linear-gradient(transparent,#000 12px,#000 calc(100% - 10px),transparent)}
.lock-notification-scroll::-webkit-scrollbar{display:none}
.notification-stage .lock-notification-scroll button{touch-action:pan-y}
.notification-stage .lock-top{padding-top:24px;padding-bottom:31px}
.notification-stage .lock-time{font-size:78px}
.notification-stage .lock-caption{margin-top:2px}
.lock-notification-groups{display:flex;flex-direction:column;gap:19px;color:#201c1b;text-shadow:none}
.lock-notification-group{min-width:0}
.lock-group-head{display:flex;align-items:center;gap:7px;padding:0 5px 9px 8px;min-height:43px;color:#fff;text-shadow:0 1px 8px #0004}
.lock-group-head h3{font-size:20px;letter-spacing:-.45px;font-weight:550;margin:0;flex:1;min-width:0}
.lock-group-toggle,.lock-group-clear{background:#f6f3f0dd;border:1px solid #ffffffb8;box-shadow:0 1px 4px #1e161621;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#231f1c;text-shadow:none;height:33px;display:flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0}
.lock-group-toggle{font-size:11px;border-radius:22px;padding:0 11px;white-space:nowrap}
.lock-group-toggle svg{width:15px;height:15px;stroke-width:2}
.lock-group-clear{width:33px;border-radius:50%;padding:0}.lock-group-clear svg{width:20px;height:20px;stroke-width:2}
.lock-group-cards{display:grid;gap:8px;position:relative;isolation:isolate}
.lock-notice{display:flex;align-items:center;gap:12px;width:100%;min-height:79px;background:linear-gradient(135deg,#fcfaf9e8,#f5f2efcc);border:1px solid #ffffffdc;border-radius:27px;padding:13px 15px;backdrop-filter:blur(24px) saturate(115%);-webkit-backdrop-filter:blur(24px) saturate(115%);box-shadow:inset 0 1px 1px #fff9,0 1px 4px #17111112;color:#211d1b;text-align:left;position:relative;z-index:1;overflow:visible}
.lock-notice-icon{position:relative;flex-shrink:0;width:38px;height:38px}.lock-notice-icon>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}
.lock-notice-count{position:absolute;top:-7px;right:-5px;background:#fff;border-radius:50%;min-width:19px;height:19px;padding:0 4px;display:grid;place-items:center;color:#635e5b;font-size:11px;font-weight:650;box-shadow:0 2px 5px #0002}
.lock-notice-copy{min-width:0;flex:1}.lock-notice-meta{display:flex;justify-content:space-between;align-items:baseline;gap:7px;margin-bottom:1px}.lock-notice-meta strong{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lock-notice-meta time{font-size:11px;color:#817a76;white-space:nowrap;flex-shrink:0;font-weight:400}
.lock-notice-body{display:flex;align-items:center;gap:9px}.lock-notice-body p{font-size:13px;line-height:1.4;margin:0;min-width:0;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere}.lock-notice-preview{width:31px;height:34px;object-fit:cover;border-radius:5px;flex-shrink:0}
.lock-group-cards.collapsed{margin-bottom:14px}.lock-group-cards.collapsed:before,.lock-group-cards.collapsed:after{content:'';position:absolute;height:100%;border:1px solid #ffffffe0;border-radius:27px;background:#f7f4f0bb;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);left:10px;right:10px;top:7px;z-index:-1}.lock-group-cards.collapsed:after{left:20px;right:20px;top:14px;z-index:-2;background:#f7f4f08c}
.lock-notifications-empty{text-align:center;color:#fff9;font-size:13px;padding:35px 0 45px;text-shadow:0 1px 5px #0006}
.lock-controls{position:absolute;bottom:30px;left:22px;right:22px;touch-action:none}.lock-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.lock-shortcut{border:1px solid #ffffffb3;background:#f5f1edda;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 4px #21181120;color:#1d1917;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;padding:0}.lock-shortcut svg{width:25px;height:25px;stroke-width:2}.lock-shortcut[aria-pressed=true]{background:#fff;color:#a77c22}.notification-stage .lock-controls .lock-hint{min-height:44px;font-size:11px;margin:0;flex:1;line-height:1.5;opacity:.85}.lock-screen.flashlight-on:before{background:#fff9}
.font-large .lock-notice-body p{font-size:15px}.font-large .lock-notice-meta strong{font-size:16px}
@media(max-width:600px){.lock-notification-scroll{inset:49px 0 max(102px,calc(env(safe-area-inset-bottom) + 75px));padding-left:13px;padding-right:13px}.notification-stage .lock-top{padding-top:24px;padding-bottom:37px}.notification-stage .lock-time{font-size:86px}.lock-notice{min-height:82px;padding:13px 14px;border-radius:28px;gap:12px}.lock-notice-icon{width:39px;height:39px}.lock-notice-meta strong{font-size:15px}.lock-notice-meta time{font-size:12px}.lock-notice-body p{font-size:14px}.lock-group-head h3{font-size:21px}.lock-group-toggle{font-size:12px}.lock-controls{left:29px;right:29px;bottom:max(32px,env(safe-area-inset-bottom))}.lock-shortcut{width:57px;height:57px}}
@media(max-height:700px){.notification-stage .lock-top{padding-top:12px;padding-bottom:19px}.notification-stage .lock-time{font-size:65px}.lock-notification-scroll{bottom:83px}.lock-controls{bottom:25px}.lock-shortcut{height:48px;width:48px}}

/* The stack unfolds in place: card transforms and group height share one spring curve. */
.lock-center-title{font-size:20px;font-weight:550;letter-spacing:-.4px;color:#fff;margin:0 5px -6px;text-shadow:0 1px 8px #0004}
.lock-notification-group{--stack-duration:460ms;--stack-ease:cubic-bezier(.2,.82,.22,1.06)}
.lock-group-heading{height:43px;opacity:1;overflow:hidden;transform:translateY(0);transform-origin:top}
.lock-notification-group.is-multiple:not(.is-expanded) .lock-group-heading{height:43px;opacity:0;transform:translateY(9px);pointer-events:none}
.stack-ready .lock-group-cards{display:block;position:relative;isolation:isolate;overflow:visible}
.stack-ready .lock-notice{position:absolute;inset:0 0 auto;width:100%;transform-origin:top center;overflow:hidden;box-sizing:border-box}
.stack-ready.is-multiple:not(.is-expanded) .lock-notice:not(:first-child){pointer-events:none}
.is-multiple:not(.is-expanded) .lock-notice:not(:first-child) .lock-notice-icon,.is-multiple:not(.is-expanded) .lock-notice:not(:first-child) .lock-notice-copy{opacity:0}
.is-expanded .lock-notice-count{opacity:0;transform:scale(.7)}
.stack-animate .lock-group-heading{transition:height var(--stack-duration) var(--stack-ease),opacity 180ms ease,transform var(--stack-duration) var(--stack-ease)}
.stack-animate .lock-group-cards{transition:height var(--stack-duration) var(--stack-ease)}
.stack-animate .lock-notice{transition:transform var(--stack-duration) var(--stack-ease),height var(--stack-duration) var(--stack-ease),opacity 260ms ease}
.stack-animate .lock-notice-icon,.stack-animate .lock-notice-copy{transition:opacity 220ms ease}
.stack-animate.is-expanded .lock-notice:not(:first-child) .lock-notice-icon,.stack-animate.is-expanded .lock-notice:not(:first-child) .lock-notice-copy{transition-delay:70ms}
.lock-notice-count{transition:opacity 140ms ease,transform 220ms ease}
.no-motion .lock-notification-group *{transition:none!important}
@media(prefers-reduced-motion:reduce){.lock-notification-group *{transition:none!important}}
