/* XFreedom /go/ — v3 (2026-10-27, TEST copy). Loaded after xf2.css: safety block, honest-term note, framed constructor, 3 one-tap import buttons, open.html. */

/* ---------- safety block (main page) ---------- */
.safety, .builder-frame { grid-column: 1 / -1; width: 100%; box-sizing: border-box; }
.safety { position: relative; isolation: isolate; margin: 4px 0 20px; padding: clamp(16px, 4.4vw, 26px); border-radius: 24px; border: 1px solid #25f5e055;
  background: linear-gradient(155deg, #0e3a40f2 0%, #08202af5 52%, #0b1630f5 100%);
  box-shadow: 0 0 46px -8px #25f5e066, 0 0 90px -14px #8f74ff55, 0 20px 44px -18px #000d, inset 0 1px 0 #ffffff2e; }
.safety::before { content: ""; position: absolute; inset: -1.5px; z-index: -1; border-radius: 25px; padding: 1.5px; pointer-events: none;
  background: linear-gradient(135deg, #25f5e0, #2ac9ff 45%, #8f74ff);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); mask-composite: exclude; }
.safety-head { display: flex; align-items: center; gap: 14px; }
.safety-ic { display: grid; place-items: center; flex: none; width: 54px; height: 54px; border-radius: 17px; color: #94fff4; border: 1px solid #25f5e0aa;
  background: radial-gradient(circle at 50% 25%, #25f5e066, #08343a); box-shadow: 0 0 26px -2px #25f5e0cc, inset 0 0 14px #25f5e033; }
.safety-ic .ic { width: 30px; height: 30px; vertical-align: 0; }
.safety-kicker { margin: 0 0 3px; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: #6bfff2; }
.safety h2 { margin: 0; font: 700 clamp(21px, 6vw, 30px)/1.12 Georgia, "Times New Roman", serif; color: #fff; letter-spacing: -.01em; }
.safety-lead { margin: 14px 0 14px; color: var(--si); font-size: clamp(14.5px, 3.9vw, 16.5px); line-height: 1.5; }
.safety-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 9px; }
.safety-list li { display: flex; align-items: center; gap: 12px; padding: 11px 13px; border-radius: 15px; border: 1px solid #25f5e033; background: #ffffff0a; }
.safety-li-ic { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 12px; color: #8bfff2; border: 1px solid #25f5e077; background: radial-gradient(circle at 50% 25%, #25f5e044, #09343a); }
.safety-li-ic .ic { width: 21px; height: 21px; vertical-align: 0; }
.safety-list b { display: block; color: #fff; font-size: clamp(15px, 4vw, 17px); line-height: 1.25; }
.safety-list span:not(.safety-li-ic) { display: block; margin-top: 1px; color: var(--si2); font-size: clamp(13px, 3.5vw, 14.5px); line-height: 1.4; }
.safety-cta { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; text-decoration: none; color: var(--txt);
  border: 1px solid #a58cffaa; background: linear-gradient(105deg, #8f74ff33, #2ac9ff22); box-shadow: 0 0 28px -8px #8f74ffcc, inset 0 1px 0 #ffffff22; transition: box-shadow .25s, transform .25s, border-color .25s; }
.safety-cta:hover, .safety-cta:focus-visible { box-shadow: 0 0 38px -4px #a58cffdd, inset 0 1px 0 #ffffff33; border-color: #c9b8ff; transform: translateY(-1px); }
.safety-cta .plan-crown { color: #e3d8ff; border-color: #a58cffcc; background: radial-gradient(circle at 50% 25%, #a58cff77, #1d1a52); box-shadow: 0 0 20px -2px #8f74ffcc; }
.safety-cta-t { flex: 1; min-width: 0; font-size: clamp(14px, 3.8vw, 16px); line-height: 1.35; color: var(--si); }
.safety-cta-t b { color: #fff; }
.safety-cta-go { flex: none; font-size: 22px; color: #c9b8ff; }
@media (min-width: 900px) {
  .safety { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: 34px; padding: 30px 34px; }
  .safety-head, .safety-lead { grid-column: 1; }
  .safety-list { grid-column: 2; grid-row: 1 / span 3; margin: 0; align-content: center; }
  .safety-cta { grid-column: 1 / -1; margin-top: 20px; }
}

/* ---------- honest-term note ---------- */
.sell-note { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; padding: 12px 14px; border-radius: 14px; border: 1px solid #ffc53355; background: linear-gradient(105deg, #ffc5331c, #ffffff08);
  color: var(--si); font-size: clamp(13.5px, 3.6vw, 15px); line-height: 1.45; }
.sell-note .ic { flex: none; width: 20px; height: 20px; margin-top: 1px; color: #ffd36b; }
.sell-note b { color: #fff; }

/* ---------- constructor: framed, glowing ---------- */
.builder-frame { position: relative; isolation: isolate; margin: 22px 0; padding: clamp(16px, 4.2vw, 28px); border-radius: 26px; border: 1px solid transparent;
  background: linear-gradient(160deg, #0c2a30f6, #07151af8 55%, #080f20f8);
  box-shadow: 0 0 40px -6px #25f5e077, 0 0 84px -12px #2ac9ff55, 0 22px 46px -20px #000e, inset 0 1px 0 #ffffff26, inset 0 0 40px -22px #25f5e0; }
.builder-frame::before { content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: 28px; padding: 2px; pointer-events: none;
  background: linear-gradient(135deg, #25f5e0 0%, #2ac9ff 45%, #8f74ff 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); mask-composite: exclude;
  filter: drop-shadow(0 0 7px #25f5e0aa); }
.bf-head { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; }
.bf-ic { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 15px; color: #8bfff2; border: 1px solid #25f5e0aa; background: radial-gradient(circle at 50% 25%, #25f5e055, #09343a); box-shadow: 0 0 22px -3px #25f5e0bb; }
.bf-ic .ic { width: 26px; height: 26px; vertical-align: 0; }
.bf-head h2 { margin: 0; font: 700 clamp(20px, 5.6vw, 27px)/1.15 Georgia, "Times New Roman", serif; color: #fff; }
.bf-head p { margin: 3px 0 0; color: var(--si2); font-size: clamp(13.5px, 3.6vw, 15px); line-height: 1.4; }
.bf-step { margin: 0 0 12px; padding: 14px; border-radius: 18px; border: 1px solid #25f5e03d; background: #00000033; }
.bf-label { display: flex; align-items: center; gap: 9px; margin: 0 0 11px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--si); }
.bf-n { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: 12px; color: #021d22; background: linear-gradient(135deg, #6bfff2, #2ac9ff); box-shadow: 0 0 12px #25f5e088; }
.builder-frame .chips { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin: 0; }
.builder-frame .chip-choice { display: grid; place-items: center; align-content: center; gap: 1px; min-width: 0; min-height: 58px; padding: 6px 2px; line-height: 1; border-radius: 14px; border: 1px solid #ffffff33; background: #ffffff10; color: var(--txt); cursor: pointer; transition: background .2s, border-color .2s, box-shadow .2s; }
.builder-frame .chip-choice b { font: 700 clamp(20px, 5.6vw, 26px)/1 Georgia, serif; font-variant-numeric: lining-nums; }
.builder-frame .chip-choice small { font-size: 11.5px; font-weight: 600; color: var(--si2); }
.builder-frame .chip-choice:hover { border-color: #25f5e0aa; background: #25f5e01c; }
.builder-frame .chip-choice.is-on { background: linear-gradient(135deg, #2bf2e0, #1fb8ff); border-color: #9afff6; color: #021d22; box-shadow: 0 0 22px -2px #25f5e0cc, inset 0 1px 1px #ffffffaa; }
.builder-frame .chip-choice.is-on small { color: #04373b; }
.presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.preset { display: grid; align-content: center; justify-items: center; gap: 3px; min-width: 0; min-height: 64px; padding: 8px 6px; text-align: center; border-radius: 14px; border: 1px solid #ffffff33; background: #ffffff10; color: var(--txt); cursor: pointer; font-family: inherit; transition: background .2s, border-color .2s, box-shadow .2s; }
.preset b { font-size: clamp(13.5px, 3.7vw, 16px); line-height: 1.15; }
.preset span { font-size: clamp(11px, 3vw, 12.5px); color: var(--si2); line-height: 1.2; }
.preset:hover { border-color: #25f5e0aa; background: #25f5e01c; }
.preset.is-on { background: linear-gradient(135deg, #12414b, #0d2b4a); border-color: #6bfff2; box-shadow: 0 0 24px -3px #25f5e0cc, inset 0 0 0 1px #25f5e0aa; }
.preset.is-on b { color: #7ffcf0; }
.bf-dev { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #ffffff26; }
.bf-or { color: var(--si2); font-size: clamp(13px, 3.5vw, 14.5px); }
.bf-dev .stepper { display: inline-flex; min-width: 0; flex: none; }
.bf-dev .stepper output { flex: none; min-width: 52px; font-size: 26px; }
.bf-sum { display: grid; gap: 14px; margin: 14px 0 0; padding: 16px; border-radius: 20px; border: 1px solid #25f5e0aa; background: linear-gradient(150deg, #0d3a40, #061a1f);
  box-shadow: 0 0 34px -8px #25f5e099, inset 0 1px 0 #ffffff26; }
.sum-line { color: var(--si); font-size: clamp(14px, 3.8vw, 16px); font-weight: 600; }
.bf-sum .sum-price { margin: 2px 0; font: 700 clamp(40px, 12vw, 58px)/1.05 Georgia, serif; color: #fff; text-shadow: 0 0 28px #25f5e066; font-variant-numeric: lining-nums tabular-nums; }
.sum-sub { color: var(--si2); font-size: 13.5px; }
.bf-sum .btn.big { margin: 0; width: 100%; }
.bf-note { margin: 14px 2px 0; color: var(--gr); font-size: 13px; line-height: 1.45; }
@media (min-width: 640px) {
  .bf-sum { grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); align-items: center; }
  .builder-frame { padding: 28px 30px; }
}

/* ---------- subscription ready: three one-tap import buttons ---------- */
.open-lbl { margin: 14px 0 8px; }
.open-apps { grid-template-columns: 1fr; margin-top: 0; }
@media (min-width: 560px) { .open-apps { grid-template-columns: repeat(3, minmax(0, 1fr)); } .app-btn { justify-content: center; } .app-btn span { flex: none; padding: 0; text-align: left; } }
.app-btn { min-height: 56px; }

/* ---------- open.html ---------- */
.open-wrap { max-width: 520px; padding-top: 28px; }
.open-card { text-align: center; display: grid; gap: 12px; }
.open-card h1 { margin: 0; font-size: clamp(22px, 6vw, 28px); }
.open-card p { margin: 0; }
.open-logo { display: grid; place-items: center; }
.open-logo svg { filter: drop-shadow(0 4px 22px #00f0d8aa); border-radius: 17px; }
.open-card .btn.big { margin: 4px 0 0; }
.open-others { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.open-others .btn { margin: 0; min-height: 46px; font-size: 14px; }
.open-card .stores { text-align: left; }
.open-card a.store span { font-size: 14px; }
.open-card a.store em { font-style: normal; color: #5ffcee; font-size: 13px; }

@media (min-width: 900px) { .builder-frame { max-width: 900px; margin-left: auto; margin-right: auto; } .sell-note { max-width: 100%; } }

/* live: three 30-day plans only (custom terms/device counts cannot be fulfilled by the live account-api yet) */
.builder-frame.plans-only #stepTerm, .builder-frame.plans-only #devRow { display: none; }
.builder-frame.plans-only .presets { margin-bottom: 0; }
