.ocp{box-sizing:border-box;position:fixed;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:30px;border:1px solid #25466a;border-radius:18px;background:#061429;color:#e3efff;font:15px/1.55 system-ui,sans-serif;box-shadow:0 24px 90px #0007}
.ocp::backdrop{background:#061429aa}.ocp h2{margin:0 30px 18px 0;color:white;font-size:24px;line-height:1.25}.ocp p{margin:14px 0}.ocp .ocp-price{font-weight:750;font-size:22px;color:white}.ocp-close{position:absolute;right:14px;top:12px;background:transparent;border:0;color:#c7d9ec;font-size:26px;cursor:pointer}.ocp-primary,.ocp-secondary{box-sizing:border-box;display:inline-block;max-width:100%;padding:12px 16px;margin:10px 8px 0 0;border-radius:10px;font:700 14px/1.4 system-ui,sans-serif;text-decoration:none;cursor:pointer;white-space:normal}.ocp-primary{background:#f2c14e;color:#061429;border:1px solid #f2c14e}.ocp-secondary{background:transparent;color:#e3efff;border:1px solid #526984}.ocp button:disabled{opacity:.5;cursor:default}.ocp button:focus-visible,.ocp a:focus-visible{outline:3px solid #f2c14e;outline-offset:3px}.ocp-accept{display:flex;gap:12px;align-items:flex-start;padding:16px 0}.ocp-accept input{margin-top:5px;min-width:18px;height:18px;accent-color:#f2c14e}.ocp-notice{padding:14px;border:1px solid #526984;border-radius:10px}@media(max-width:480px){.ocp{padding:24px 18px}.ocp-primary,.ocp-secondary{width:100%;margin-right:0}.ocp h2{font-size:22px}}
/* upgrade promotion (amounts always from the server) */
.ocp-promo{position:relative;overflow:hidden;margin:6px 0 14px;padding:16px 18px;border:1px solid #f2c14e99;border-radius:14px;background:linear-gradient(135deg,#f2c14e24,#17b8f614 60%),#0b1b33}
.ocp-promo::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,#ffffff1f 50%,transparent 60%);transform:translateX(-100%);animation:ocp-shine 5.5s ease-in-out 1s 3;pointer-events:none}
.ocp .ocp-promo p{margin:8px 0}
.ocp .ocp-promo-tag{display:inline-block;margin:0;padding:3px 10px;border-radius:999px;background:#f2c14e;color:#061429;font-size:12px;font-weight:800}
.ocp .ocp-promo-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:10px 0 2px}
.ocp-promo-main s{color:#9fb3cc;font-size:17px}
.ocp-promo-main strong{color:#fff;font-size:32px;font-weight:800;letter-spacing:-.02em}
.ocp-promo-main span{color:#c3d1e4;font-size:14px;font-weight:600}
.ocp-promo-line{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:14px 0 8px;padding:0;list-style:none}
.ocp-promo-line::before{content:"";position:absolute;left:7px;width:50%;top:6px;height:2px;background:linear-gradient(90deg,#f2c14e,#17b8f6);transform-origin:left;animation:ocp-grow .9s ease-out .3s both}
.ocp-promo-line li{position:relative;display:grid;align-content:start;gap:2px;padding:20px 8px 0 0}
.ocp-promo-line li::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;box-sizing:border-box;border:2px solid #17b8f6;border-radius:50%;background:#0b1b33}
.ocp-promo-line li.is-now::before{border-color:#f2c14e;background:#f2c14e;animation:ocp-pulse 2.4s ease-out 3}
.ocp-promo-line b{color:#fff;font-size:13.5px}
.ocp-promo-line span{color:#c3d1e4;font-size:12.5px;line-height:1.4}
.ocp .ocp-promo-foot{color:#9fb3cc;font-size:12.5px;line-height:1.45}
.ocp-bill{margin:0 0 12px;padding:8px 16px;border:1px solid #25466a;border-left:3px solid #f2c14e;border-radius:12px;background:#0b1b33}
.ocp-bill div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:#c3d1e4;font-size:14px}
.ocp-bill dt,.ocp-bill dd{margin:0}
.ocp-bill dd{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.ocp-bill .is-off dd{color:#f2c14e}
.ocp-bill .is-total{margin-top:4px;padding-top:9px;border-top:1px solid #25466a;color:#fff;font-size:16px;font-weight:800}
@keyframes ocp-shine{0%{transform:translateX(-100%)}35%,100%{transform:translateX(100%)}}
@keyframes ocp-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ocp-pulse{0%{box-shadow:0 0 0 0 #f2c14e8c}100%{box-shadow:0 0 0 10px #f2c14e00}}
@media(max-width:360px){.ocp-promo{padding:14px}.ocp-promo-main strong{font-size:27px}.ocp-promo-line{grid-template-columns:1fr;gap:12px}.ocp-promo-line::before{display:none}}
@media(prefers-reduced-motion:reduce){.ocp-promo::after,.ocp-promo-line::before,.ocp-promo-line li.is-now::before{animation:none}}
