:root{
    --cp-pwa-purple:#21133a;
    --cp-pwa-purple-light:#7517c8;
    --cp-pwa-orange:#ff8217;
    --cp-pwa-green:#83d329;
    --cp-safe-top:env(safe-area-inset-top,0px);
    --cp-safe-right:env(safe-area-inset-right,0px);
    --cp-safe-bottom:env(safe-area-inset-bottom,0px);
    --cp-safe-left:env(safe-area-inset-left,0px)
}
.cp-pwa-splash{display:none}
.cp-pwa-launching .cp-pwa-splash{
    position:fixed;
    inset:0;
    z-index:2147483647;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 78% 18%,rgba(131,211,41,.17),transparent 28%),
        radial-gradient(circle at 18% 78%,rgba(255,130,23,.16),transparent 30%),
        linear-gradient(145deg,#160c29,var(--cp-pwa-purple) 52%,#542183);
    color:#fff
}
.cp-pwa-splash-brand{display:flex;flex-direction:column;align-items:center;animation:cpPwaSplashIn .45s ease both}
.cp-pwa-splash-icon{
    width:118px;
    height:118px;
    padding:14px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.14);
    border-radius:32px;
    background:rgba(255,255,255,.08);
    box-shadow:0 24px 70px rgba(0,0,0,.25);
    backdrop-filter:blur(14px)
}
.cp-pwa-splash-icon img{display:block;width:100%;height:100%;object-fit:contain}
.cp-pwa-splash-brand strong{margin-top:22px;font:900 35px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.045em}
.cp-pwa-splash-brand strong em{color:var(--cp-pwa-green);font-style:normal}
.cp-pwa-splash-brand small{margin-top:8px;color:rgba(255,255,255,.68);font:800 10px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.18em}
.cp-pwa-launching.cp-pwa-ready .cp-pwa-splash{opacity:0;transition:opacity .25s ease;pointer-events:none}
@keyframes cpPwaSplashIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}

.cp-install-trigger{align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:800}
.cp-install-trigger:not([hidden]){display:inline-flex}
.cp-push-trigger{width:38px;height:38px;padding:0;align-items:center;justify-content:center;white-space:nowrap;font-size:12px;font-weight:800;border-radius:10px}
.cp-push-trigger:not([hidden]){display:inline-flex}
.cp-push-trigger.is-active{background:#edf8e5;color:#4d8f13;border-color:#d9efc8}
.cp-push-trigger i{font-size:16px}
.cp-push-trigger span{display:none!important}
.cp-install-float{
    position:fixed;
    right:max(16px,var(--cp-safe-right));
    bottom:max(16px,var(--cp-safe-bottom));
    z-index:2050;
    display:flex;
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:10px 14px;
    border:0;
    border-radius:15px;
    background:linear-gradient(135deg,var(--cp-pwa-purple-light),#9147d3);
    color:#fff;
    box-shadow:0 14px 38px rgba(66,27,104,.28);
    font:800 13px/1 system-ui,-apple-system,"Segoe UI",sans-serif
}
.cp-install-float svg{width:20px;height:20px;fill:currentColor}
.cp-pwa-sheet{
    position:fixed;
    inset:0;
    z-index:2147483600;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:16px max(16px,var(--cp-safe-right)) max(16px,var(--cp-safe-bottom)) max(16px,var(--cp-safe-left));
    background:rgba(14,8,25,.58);
    backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    transition:.2s
}
.cp-pwa-sheet.is-open{opacity:1;visibility:visible}
.cp-pwa-sheet-card{
    width:min(520px,100%);
    max-height:min(680px,calc(100dvh - var(--cp-safe-top) - 28px));
    overflow:auto;
    padding:22px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 90px rgba(0,0,0,.3);
    color:#182033;
    transform:translateY(18px);
    transition:.2s
}
.cp-pwa-sheet.is-open .cp-pwa-sheet-card{transform:none}
.cp-pwa-sheet-head{display:flex;align-items:center;gap:13px}
.cp-pwa-sheet-logo{width:50px;height:50px;flex:0 0 50px;object-fit:contain}
.cp-pwa-sheet-title{min-width:0;flex:1}
.cp-pwa-sheet-title strong{display:block;font:900 19px/1.15 system-ui,-apple-system,"Segoe UI",sans-serif}
.cp-pwa-sheet-title small{display:block;margin-top:4px;color:#718096;font:500 12px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif}
.cp-pwa-sheet-close{width:38px;height:38px;flex:0 0 38px;border:0;border-radius:12px;background:#f1f3f7;color:#475569;font-size:24px;line-height:1}
.cp-pwa-steps{display:grid;gap:10px;margin-top:20px}
.cp-pwa-step{display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:start;padding:13px;border:1px solid #e9eaf0;border-radius:16px;background:#fafafe}
.cp-pwa-step b{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#eee6fb;color:var(--cp-pwa-purple-light);font:900 14px/1 system-ui}
.cp-pwa-step span{align-self:center;color:#3f4a5e;font:600 13px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.cp-pwa-step span strong{color:#1b2434}
.cp-pwa-sheet-note{margin:14px 2px 0;color:#7a8494;font:500 11px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.cp-push-banner{
    position:fixed;
    left:max(14px,var(--cp-safe-left));
    right:max(14px,var(--cp-safe-right));
    bottom:max(14px,var(--cp-safe-bottom));
    z-index:2080;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto 34px;
    align-items:center;
    gap:10px;
    width:min(620px,calc(100vw - 28px));
    margin:auto;
    padding:12px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:18px;
    background:linear-gradient(135deg,#21133a,#552184);
    color:#fff;
    box-shadow:0 18px 50px rgba(24,12,42,.34);
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif
}
.cp-push-banner-icon,.cp-push-sheet-icon{
    display:grid;
    place-items:center;
    background:rgba(131,211,41,.16);
    color:#94df50
}
.cp-push-banner-icon{width:44px;height:44px;border-radius:13px;font-size:18px}
.cp-push-banner div{min-width:0}
.cp-push-banner strong{display:block;font-size:13px;line-height:1.2}
.cp-push-banner small{display:block;margin-top:3px;color:rgba(255,255,255,.7);font-size:10px;line-height:1.35}
.cp-push-banner-action{
    min-height:38px;
    padding:0 14px;
    border:0;
    border-radius:12px;
    background:#83d329;
    color:#193405;
    font-size:11px;
    font-weight:900
}
.cp-push-banner-close{width:34px;height:34px;border:0;border-radius:11px;background:rgba(255,255,255,.08);color:#fff}
.cp-push-sheet-card{max-width:440px}
.cp-push-sheet-icon{width:50px;height:50px;flex:0 0 50px;border-radius:15px;background:#edf8e5;font-size:20px}
.cp-push-sheet-status{display:flex;align-items:center;gap:9px;margin-top:20px;padding:13px;border:1px solid #dcedd1;border-radius:15px;background:#f5fbf0;color:#4d8f13;font-size:12px;font-weight:800}
.cp-push-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.cp-push-sheet-actions button{min-height:44px;border-radius:13px;font-size:12px;font-weight:800}
.cp-push-test{border:0;background:linear-gradient(135deg,var(--cp-pwa-purple-light),#9147d3);color:#fff}
.cp-push-disable{border:1px solid #e5e7eb;background:#fff;color:#64748b}
.cp-pwa-online-state{
    position:fixed;
    left:50%;
    bottom:max(14px,var(--cp-safe-bottom));
    z-index:2100;
    transform:translate(-50%,18px);
    padding:9px 13px;
    border-radius:99px;
    background:#251d31;
    color:#fff;
    box-shadow:0 12px 34px rgba(0,0,0,.25);
    font:800 11px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
    opacity:0;
    visibility:hidden;
    transition:.2s
}
.cp-pwa-online-state.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:700px){
    .cp-install-trigger,.cp-push-trigger{width:38px;height:38px;padding:0;justify-content:center}
    .cp-install-trigger span,.cp-push-trigger span{display:none}
    .cp-push-banner{grid-template-columns:42px minmax(0,1fr) auto 30px}
    .cp-push-banner-icon{width:42px;height:42px}
    .cp-push-banner-close{width:30px;height:34px}
}
@media(max-width:420px){
    .cp-push-banner{grid-template-columns:40px minmax(0,1fr) auto;padding:10px}
    .cp-push-banner-icon{width:40px;height:40px}
    .cp-push-banner-close{position:absolute;right:5px;top:5px;width:28px;height:28px}
    .cp-push-banner div{padding-right:12px}
    .cp-push-banner-action{padding:0 12px}
    .cp-push-sheet-actions{grid-template-columns:1fr}
}
html.cp-pwa-standalone body .ac-topbar,
html.cp-pwa-ios.cp-pwa-standalone body .ac-topbar{
    height:calc(72px + var(--cp-safe-top));
    min-height:calc(72px + var(--cp-safe-top));
    padding-top:var(--cp-safe-top);
    padding-right:max(10px,var(--cp-safe-right));
    padding-left:max(10px,var(--cp-safe-left))
}
html.cp-pwa-standalone body .ac-sidebar,
html.cp-pwa-ios.cp-pwa-standalone body .ac-sidebar{
    padding-top:calc(22px + var(--cp-safe-top));
    padding-bottom:max(22px,var(--cp-safe-bottom))
}
html.cp-pwa-standalone body .ac-content,
html.cp-pwa-ios.cp-pwa-standalone body .ac-content{
    min-height:calc(100dvh - 72px - var(--cp-safe-top));
    padding-bottom:var(--cp-safe-bottom)
}
html.cp-pwa-standalone body>.shell,
html.cp-pwa-ios.cp-pwa-standalone body>.shell{
    margin-top:var(--cp-safe-top);
    margin-bottom:var(--cp-safe-bottom)
}
@media(display-mode:standalone){
    html,body{min-height:100dvh}
    html body .ac-topbar{
        height:calc(72px + var(--cp-safe-top));
        min-height:calc(72px + var(--cp-safe-top));
        padding-top:var(--cp-safe-top);
        padding-right:max(10px,var(--cp-safe-right));
        padding-left:max(10px,var(--cp-safe-left))
    }
    html body .ac-sidebar{
        padding-top:calc(22px + var(--cp-safe-top));
        padding-bottom:max(22px,var(--cp-safe-bottom))
    }
    html body .ac-content{min-height:calc(100dvh - 72px - var(--cp-safe-top));padding-bottom:var(--cp-safe-bottom)}
    html body>.shell{margin-top:var(--cp-safe-top);margin-bottom:var(--cp-safe-bottom)}
}
