:root { --accent: #f1afc7; }
.trial-toolbar { padding: 0 1rem .8rem; }
.trial-toolbar p { font-size: .8rem; color: #b7aeb6; }
.subscription-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.subscription-actions[hidden] { display: none; }
.subscription-actions button { border: 1px solid #655662; background: #251f29; color: #f4d9e7; padding: .55rem .75rem; border-radius: 999px; cursor: pointer; font: inherit; font-size: .8rem; }
.subscription-dialog, .subscription-page { color: #f4eaf0; background: #211b24; font-family: system-ui, sans-serif; }
.subscription-dialog { box-sizing: border-box; width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 32px); border: 1px solid #66505e; border-radius: 22px; padding: 30px; overflow-y: auto; }
.subscription-dialog::backdrop { background: #09060abf; backdrop-filter: blur(5px); }
.subscription-dialog h2 { font-size: 1.7rem; margin: 16px 0; }
.subscription-dialog p { line-height: 1.7; }
.subscription-kicker { color: #f5adc9; letter-spacing: .12em; font-size: .8rem; }
.subscription-close { float: right; border: 0; background: transparent; color: #e2d6de; cursor: pointer; font-size: 1.8rem; }
.subscription-note { color: #bdb0bc; font-size: .88rem; }
.subscription-primary { display: block; text-align: center; background: #f0aac8; color: #261825; text-decoration: none; padding: 14px; border-radius: 12px; font-weight: 650; }
.subscription-secondary { display: block; margin: 16px auto 0; border: 0; background: transparent; color: #dfd1dc; font: inherit; cursor: pointer; }
.subscription-page { margin: 0; min-height: 100dvh; background: radial-gradient(ellipse at top, #392535, #141116 65%); }
.subscription-page main { width: min(720px, calc(100% - 40px)); margin: 0 auto; padding: 50px 0; }
.subscription-page h1 { font-size: clamp(2rem, 7vw, 3.2rem); line-height: 1.2; }
.subscription-page p { line-height: 1.7; overflow-wrap:anywhere; }
.subscription-page a { color: #f0aac8; }
.subscription-page .subscription-primary { color: #261825; }
.subscription-plan { margin: 28px 0; padding: 24px; border: 1px solid #634754; border-radius: 20px; background: #231d27; }
.subscription-plan li { line-height: 1.7; margin: 12px 0; }
.subscription-page footer { margin-top: 28px; font-size: .85rem; }
.subscription-page select, .subscription-page input:not([type=checkbox]), .subscription-actions select { box-sizing:border-box; max-width:100%; width:100%; padding:12px; margin:8px 0 16px; color:#f4eaf0; background:#17131a; border:1px solid #66505e; border-radius:10px; }
.subscription-actions select { width:auto; margin:0; }
.subscription-page button { cursor:pointer; font:inherit; }
.subscription-page button:disabled { opacity:.55; cursor:default; }
.subscription-page img { display:block; margin:16px auto; }
.subscription-page [hidden] { display:none; }
.payment-warning { border-left:3px solid #efb674; padding-left:14px; }
.consent { display:block; margin:18px 0; }
.history-order { display:block; width:100%; text-align:left; margin:10px 0; padding:12px; background:#17131a; color:#f4eaf0; border:1px solid #66505e; border-radius:10px; overflow-wrap:anywhere; }
.subscription-actions button:focus-visible, .subscription-dialog :focus-visible, .subscription-page :focus-visible { outline: 2px solid #fbd0e3; outline-offset: 4px; }
.subscription-page.recharge-modal-open { overflow: hidden; }
.recharge-dialog { width: min(600px, calc(100% - 32px)); padding: 24px; }
.recharge-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.recharge-dialog-head h2 { margin: 0; font-size: 1.4rem; }
.recharge-dialog .subscription-close { float: none; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border-radius: 10px; font-size: 1.8rem; }
.recharge-dialog .subscription-close:hover { background: #ffffff12; }
.recharge-dialog #order-summary { font-size: 1.15rem; font-weight: 650; }
.recharge-dialog #order-clock { color: #f5c18f; }
.recharge-dialog #order-address { font-family: ui-monospace, monospace; font-size: .85rem; }
.recharge-address { position: relative; margin: 8px 0 16px; }
.recharge-dialog .recharge-address #order-address { margin: 0; min-height: 48px; padding-right: 52px; }
.recharge-copy-icon { position: absolute; top: 2px; right: 2px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #f0aac8; }
.recharge-copy-icon:hover:not(:disabled) { background: #ffffff12; }
.recharge-dialog #order-qr { max-width: 100%; height: auto; border-radius: 12px; }
.recharge-dialog .recharge-copy { width: 100%; border: 0; }
.recharge-dialog #order-state { font-weight: 650; }
@media (max-width: 480px) { .recharge-dialog { padding: 20px; } }
