.promotions-page{max-width:1320px;min-height:calc(100vh - 70px);margin:0 auto;padding:44px 28px 60px}.promotions-intro .eyebrow{font-size:11px;letter-spacing:.14em;color:#bd79e9}.promotions-intro h1{margin:8px 0 5px;color:#f5eff8;font:600 36px var(--serif)}.promotions-intro p{margin:0;color:#b5adbb;font-size:15px;line-height:1.6}.promotion-collection{max-width:1000px;margin:28px 0 0;padding:22px;border:1px solid #493252;border-radius:14px;background:radial-gradient(ellipse at 90% 0%,#2a1736 0%,transparent 38%),linear-gradient(145deg,#17121c,#0e0c12 72%);box-shadow:0 14px 38px #0005}.promotion-collection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #33283b}.promotion-kicker{color:#cb94eb;font-size:10px;font-weight:700;letter-spacing:.14em}.promotion-collection-head h2{margin:7px 0 6px;color:#f6effa;font:600 26px var(--serif)}.promotion-collection-head p{max-width:620px;margin:0;color:#b8adbf;font-size:14px;line-height:1.6}.promotion-discount{flex:none;padding:9px 12px;border:1px solid #79529a;border-radius:9px;background:#351c48;color:#e8c6ff;font-size:15px;font-weight:800;letter-spacing:.03em}.promotion-feedback{margin:14px 0;color:#aa9cb3;font-size:13px;line-height:1.5}.promotion-titles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.promotion-title-card{display:grid;grid-template-columns:68px minmax(0,1fr);gap:11px;align-items:center;min-width:0;padding:10px;border:1px solid #302738;border-radius:9px;background:#100e14}.promotion-poster{display:block;width:68px;aspect-ratio:2/3;object-fit:cover;border-radius:5px;background:#25192d}.promotion-no-poster{display:grid;place-items:center;color:#d4a2f1;font-size:25px}.promotion-title-copy{min-width:0}.promotion-title-kind{color:#b9a8c3;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.promotion-title-copy h3{margin:5px 0;color:#f3edf6;font:600 14px/1.3 var(--serif)}.promotion-title-copy>p{margin:0;color:#a69aaa;font-size:10px;line-height:1.45}.promotion-title-price{display:block;margin-top:8px;color:#e3b9fc;font-size:15px}.promotion-title-price small{color:#a99eae;font-size:9px;font-weight:500}.promotion-title-status{display:block;margin-top:8px;color:#b4a4bd;font-size:10px;line-height:1.35}.promotion-title-status.is-reacted{color:#d8a4fa}.promotion-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:18px;padding:15px;border:1px solid #493554;border-radius:9px;background:#120e17}.promotion-summary>div{display:flex;justify-content:space-between;gap:8px;color:#bcb0c5;font-size:12px}.promotion-summary strong{color:#eee4f3;font-size:14px;white-space:nowrap}.promotion-summary .promotion-total{grid-column:1/-1;padding-top:11px;border-top:1px solid #3d2d47}.promotion-summary .promotion-total span{color:#f0e7f5;font-size:14px;font-weight:700}.promotion-summary .promotion-total strong{color:#e1aaff;font-size:22px}.promotion-redemption{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;margin-top:14px;padding:0 15px;border:1px solid #a75ad6;border-radius:8px;background:linear-gradient(110deg,#70259f,#49176c);color:#fff;font-size:14px;font-weight:700;box-shadow:0 5px 18px #7629a833}.promotion-redemption:hover{filter:brightness(1.13)}.promotion-redemption span{font-size:17px;color:#e5bbff}.promotion-note{margin:12px 0 0;color:#8f8498;font-size:10px;line-height:1.55}
@media(max-width:850px){.promotion-titles{grid-template-columns:1fr}.promotion-title-card{grid-template-columns:72px minmax(0,1fr)}.promotion-poster{width:72px}}
@media(max-width:520px){.promotions-page{min-height:0;padding:25px 12px 40px}.promotions-intro h1{font-size:30px}.promotion-collection{margin-top:20px;padding:15px}.promotion-collection-head{gap:10px}.promotion-collection-head h2{font-size:21px}.promotion-collection-head p{font-size:12px}.promotion-discount{padding:7px 9px;font-size:12px}.promotion-summary{grid-template-columns:1fr;padding:12px}.promotion-summary .promotion-total{grid-column:auto}}
.admin-promotion-manager{margin:25px 0 34px;padding:20px;border:1px solid #493554;border-radius:12px;background:linear-gradient(145deg,#17121c,#0e0c12 75%)}
.admin-promotion-manager-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.admin-promotion-manager-heading h2{margin:5px 0;color:#f5eff8;font:600 25px var(--serif)}
.admin-promotion-manager-heading p{max-width:700px;margin:0;color:#b5adbb;font-size:13px;line-height:1.55}
.admin-promotion-new,.admin-promotion-row button,.admin-promotion-cancel{min-height:36px;padding:0 12px;border:1px solid #624376;border-radius:7px;background:#21152b;color:#e6c9f7;font-size:11px;font-weight:700;cursor:pointer}
.admin-promotion-new,.admin-promotion-save{flex:none;border-color:#8954a6;background:linear-gradient(110deg,#70259f,#49176c);color:#fff}
.admin-promotion-feedback{margin:14px 0;color:#b6adbf;font-size:12px;line-height:1.5}
.admin-promotion-list{display:grid;gap:8px}
.admin-promotion-empty{color:#aaa0b0;font-size:12px}
.admin-promotion-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #302738;border-radius:8px;background:#100e14}
.admin-promotion-row>div:first-child{display:grid;gap:4px;min-width:0}
.admin-promotion-row strong{overflow:hidden;color:#eee8f2;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.admin-promotion-row small{color:#a99eae;font-size:10px}
.admin-promotion-row>div:last-child{display:flex;gap:6px;flex:none}
.admin-promotion-row button[data-promotion-delete]{border-color:#784752;background:#351c22;color:#f0c1c8}
.admin-promotion-form{display:grid;gap:12px;margin-top:18px;padding:16px;border:1px solid #3d2c48;border-radius:9px;background:#100e14}
.admin-promotion-form-heading{display:flex;align-items:center;justify-content:space-between}
.admin-promotion-form-heading h3{margin:0;color:#f3edf6;font:600 18px var(--serif)}
.admin-promotion-form-heading button{width:34px;height:34px;border:1px solid #493653;border-radius:7px;background:#17121c;color:#e6d9ed;font-size:23px;cursor:pointer}
.admin-promotion-form label{display:grid;gap:6px;color:#d1c4d8;font-size:11px;font-weight:600}
.admin-promotion-form input,.admin-promotion-form textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid #493853;border-radius:6px;background:#0b0910;color:#f2edf6;font:400 12px var(--sans);resize:vertical}
.admin-promotion-form input:focus,.admin-promotion-form textarea:focus{outline:1px solid #a25ec6}
.admin-promotion-form label small{color:#928799;font-size:9px;font-weight:400}
.admin-promotion-fields{display:grid;grid-template-columns:minmax(130px,.45fr) minmax(0,1fr);gap:12px}
.admin-promotion-search-results{display:grid;max-height:280px;overflow:auto;border-radius:7px}
.admin-promotion-search-results:empty{display:none}
.admin-promotion-search-results>p{margin:0;padding:10px;color:#a99eae;font-size:11px}
.admin-promotion-search-results>button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px;border:0;border-bottom:1px solid #302738;background:#15111a;color:#eee8f2;text-align:left;cursor:pointer}
.admin-promotion-search-results>button:hover{background:#21172a}
.admin-promotion-search-results>button img,.admin-promotion-result-no-poster{width:42px;height:58px;object-fit:cover;border-radius:4px;background:#25192d}
.admin-promotion-result-no-poster{display:grid;place-items:center;color:#d4a2f1}
.admin-promotion-search-results>button>span:nth-child(2){display:grid;gap:4px;min-width:0}
.admin-promotion-search-results>button strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.admin-promotion-search-results>button small{color:#a99eae;font-size:9px}
.admin-promotion-search-results>button>b{color:#d7a0fb;font-size:21px}
.admin-promotion-form h4{margin:3px 0 -5px;color:#e8dfed;font-size:12px}
.admin-promotion-form h4 span{color:#d6a2f2}
.admin-promotion-selected{display:grid;gap:7px}
.admin-promotion-selected>p{margin:0;color:#918799;font-size:11px}
.admin-promotion-selected-item{display:grid;grid-template-columns:42px minmax(0,1fr) 32px;gap:9px;align-items:center;padding:6px;border:1px solid #302738;border-radius:7px;background:#15111a}
.admin-promotion-selected-item>img,.admin-promotion-selected-item>span:first-child{display:grid;width:42px;height:58px;place-items:center;object-fit:cover;border-radius:4px;background:#25192d;color:#d4a2f1}
.admin-promotion-selected-item>div{display:grid;gap:4px;min-width:0}
.admin-promotion-selected-item strong{overflow:hidden;color:#eee8f2;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.admin-promotion-selected-item small{color:#a99eae;font-size:9px}
.admin-promotion-selected-item button{width:30px;height:30px;border:1px solid #70404b;border-radius:6px;background:#2b171b;color:#efb6bf;font-size:19px;cursor:pointer}
.admin-promotion-form-actions{display:flex;gap:8px}
.admin-promotion-save{min-height:38px;padding:0 15px;border:1px solid #8954a6;border-radius:7px;background:linear-gradient(110deg,#70259f,#49176c);color:#fff;font-weight:700;cursor:pointer}
.admin-promotion-save:disabled{opacity:.6}
.promotion-redemption{position:relative;justify-content:center;text-align:center}
.promotion-redemption span{position:absolute;right:15px}
@media(max-width:760px){.admin-promotion-manager{padding:14px}.admin-promotion-manager-heading{flex-direction:column}.admin-promotion-manager-heading h2{font-size:22px}.admin-promotion-fields{grid-template-columns:1fr}.admin-promotion-row{align-items:flex-start;flex-direction:column}.admin-promotion-row>div:last-child{width:100%}.admin-promotion-row button{flex:1}}
.admin-promotion-form-status{display:none;margin:0;padding:10px 12px;border:1px solid transparent;border-radius:7px;font-size:12px;line-height:1.45}
.admin-promotion-form-status.is-info,.admin-promotion-form-status.is-success,.admin-promotion-form-status.is-error{display:block}
.admin-promotion-form-status.is-info{border-color:#493554;background:#17121c;color:#c8b8d1}
.admin-promotion-form-status.is-success{border-color:#3e7653;background:#14251a;color:#bde7c8}
.admin-promotion-form-status.is-error{border-color:#70404b;background:#2b171b;color:#efb6bf}

.admin-patreon-result{display:block!important;grid-template-columns:minmax(0,1fr)!important;padding:10px 12px!important}.admin-promotion-search-results>button.admin-patreon-result strong.admin-patreon-result-title{overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;font-size:12px;line-height:1.4}.admin-patreon-result small{line-height:1.4}.admin-patreon-results-list{display:grid}.admin-patreon-more{display:block!important;width:100%;padding:10px;border:1px solid #604177!important;border-radius:6px;background:#1b1420!important;color:#ddb6f5!important;font-weight:700;text-align:center;cursor:pointer}.admin-patreon-more:disabled{opacity:.6;cursor:wait}.admin-patreon-end{padding:9px;color:#a99eae;text-align:center;font-size:10px}

.admin-promotion-search-results>button.admin-patreon-result{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important}
