.py { max-width: 1040px; margin: 0 auto; padding: 28px 20px 80px; }
.back-link { font: 600 14px/1 Inter, sans-serif; color: #7b5cff; text-decoration: none; }
.back-link:hover { text-decoration: underline; }

.py__hero { text-align: center; padding: 18px 0 14px; }
.py__h1 { font: 900 34px/1.1 Inter, sans-serif; color: #1a1740;
  background: linear-gradient(120deg, #7b5cff, #c23b8e); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; margin: 0 0 8px; }
.py__sub { font: 400 16px/1.5 Inter, sans-serif; color: #5b6786; max-width: 720px; margin: 0 auto 22px; }

.py__form { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.py__row { display: flex; gap: 10px; flex-wrap: wrap; }
.py__input { flex: 1; min-width: 120px; padding: 12px 14px; font: 500 15px JetBrains Mono, monospace;
  border: 2px solid #d8d2f3; border-radius: 11px; background: #fff; color: #1a1740; outline: none; }
.py__input:focus { border-color: #7b5cff; }
.py__input--url { flex: 2 1 100%; }
.py__input--sel { flex: 0 0 130px; }
.py__row--dwell { align-items: center; }
.py__lbl { font: 600 13px Inter, sans-serif; color: #5b6786; align-self: center; }
.py__hint { font: 500 12px Inter, sans-serif; color: #9aa0c2; align-self: center; }
.py__links { display: flex; flex-direction: column; gap: 8px; max-width: 820px; margin: 0 auto; }
.py__chk { font: 600 13px Inter, sans-serif; color: #5b6786; display: inline-flex; align-items: center; gap: 5px; align-self: center; cursor: pointer; }

.allow { max-width: 820px; margin: 0 auto 18px; padding: 14px 16px; border: 1px solid #e4e0f6; border-radius: 14px; background: #fff; text-align: left; }
.allow__head { font: 700 14px Inter, sans-serif; color: #1a1740; margin-bottom: 8px; }
.allow__hint { font-weight: 500; color: #9aa0c2; }
.allow__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.achip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 20px; font: 600 12px JetBrains Mono, monospace; background: #f1eefb; color: #5a4ad1; }
.achip b { cursor: pointer; color: #c0432f; }
.allow__add { display: flex; gap: 8px; }
.py__btn--sm { padding: 10px 16px; font-size: 14px; }
[data-theme="dark"] .allow { background: #161232; border-color: #2c2552; }
[data-theme="dark"] .allow__head { color: #efeaff; }

.py__batch { max-width: 820px; margin: 16px auto 0; border: 1px solid #e4e0f6; border-radius: 14px; background: #fff; padding: 2px 16px 16px; text-align: left; }
.py__batch summary { cursor: pointer; font: 700 14px Inter, sans-serif; color: #1a1740; padding: 12px 0; }
.batch__urls { width: 100%; min-height: 90px; margin: 6px 0 10px; padding: 12px 14px; font: 500 14px JetBrains Mono, monospace; border: 2px solid #d8d2f3; border-radius: 11px; background: #fff; color: #1a1740; resize: vertical; box-sizing: border-box; }
.batch__results { margin-top: 12px; overflow-x: auto; }
.bt { width: 100%; border-collapse: collapse; font: 500 12px JetBrains Mono, monospace; }
.bt th, .bt td { padding: 6px 8px; border-bottom: 1px solid #eef0fb; text-align: center; }
.bt th { color: #9aa0c2; font-weight: 700; }
.bt td:first-child, .bt th:first-child { text-align: left; color: #1a1740; }
[data-theme="dark"] .py__batch { background: #161232; border-color: #2c2552; }
[data-theme="dark"] .py__batch summary { color: #efeaff; }
[data-theme="dark"] .batch__urls { background: #161232; border-color: #2c2552; color: #efeaff; }
.py__proxy summary { cursor: pointer; font: 600 13px Inter, sans-serif; color: #7b5cff; padding: 4px 0; }
.py__proxy .py__row { margin-top: 8px; }
.py__btn { align-self: center; margin-top: 4px; padding: 14px 30px; font: 700 16px Inter, sans-serif; color: #fff;
  cursor: pointer; background: linear-gradient(135deg, #7b5cff, #c23b8e); border: 0; border-radius: 12px; }
.py__btn:disabled { opacity: .55; cursor: default; }
.py__status { margin-top: 14px; text-align: center; font: 500 14px JetBrains Mono, monospace; color: #7b5cff; min-height: 20px; }

.persona { border: 1px solid #e4e0f6; border-radius: 18px; background: #fff; padding: 18px 20px; margin: 6px 0 18px; }
.persona__top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.persona__title { font: 800 17px Inter, sans-serif; color: #1a1740; }
.badge { padding: 4px 12px; border-radius: 20px; font: 700 12px JetBrains Mono, monospace; }
.badge--ok { background: #e4f7ef; color: #1f8f63; }
.badge--bad { background: #fdeae5; color: #c0432f; }
.badge--ip { background: #eef0fb; color: #5a4ad1; }
.persona__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 18px; }
.pf { display: flex; flex-direction: column; gap: 2px; }
.pf__k { font: 600 11px Inter, sans-serif; color: #9aa0c2; text-transform: uppercase; letter-spacing: .04em; }
.pf__v { font: 600 13px JetBrains Mono, monospace; color: #1a1740; word-break: break-word; }
.persona__chips { margin-top: 12px; }

.grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 660px) { .grid { grid-template-columns: 1fr; } }
.card { border: 1px solid #e4e0f6; border-radius: 16px; background: #fff; overflow: hidden; }
.card__head { display: flex; align-items: center; gap: 9px; padding: 13px 16px;
  font: 700 15px Inter, sans-serif; color: #1a1740; border-bottom: 1px solid #f0edfb; }
.card__icon { font-size: 17px; }
.card--popup .card__icon { color: #c23b8e; }
.card--dlg .card__icon { color: #e09a2f; }
.card--ad .card__icon { color: #e2554a; }
.card--track .card__icon { color: #2f9e7e; }
.card--demand .card__icon { color: #5a4ad1; }
.card__n { margin-left: auto; min-width: 26px; text-align: center; padding: 2px 9px; border-radius: 20px;
  font: 700 13px JetBrains Mono, monospace; background: #f0edfb; color: #7b5cff; }
.card__body { padding: 12px 16px 16px; display: flex; flex-direction: column; gap: 7px; }
.card__body--chips { flex-direction: row; flex-wrap: wrap; }

.row { display: flex; align-items: baseline; gap: 8px; font: 500 13px JetBrains Mono, monospace; }
.row__what { color: #1a1740; font-weight: 600; }
.row__host { color: #8a90b4; font-size: 12px; word-break: break-all; }
.chip { display: inline-block; margin: 3px 5px 0 0; padding: 5px 10px; border-radius: 20px;
  font: 600 12px JetBrains Mono, monospace; background: #f1eefb; color: #5a4ad1; }
.chip--warn { background: #fdeee9; color: #c0432f; }
.chip--ok { background: #e4f7ef; color: #1f8f63; }
.empty { font: 400 13px Inter, sans-serif; color: #a6abc8; }

[data-theme="dark"] .persona, [data-theme="dark"] .card { background: #161232; border-color: #2c2552; }
[data-theme="dark"] .persona__title, [data-theme="dark"] .pf__v, [data-theme="dark"] .card__head, [data-theme="dark"] .row__what { color: #efeaff; }
[data-theme="dark"] .py__input { background: #161232; border-color: #2c2552; color: #efeaff; }
[data-theme="dark"] .card__head { border-color: #2c2552; }
