:root{
  --theme-bg-color:#0a0307;
  --theme-block-bg:#12060c;
  --theme-primary-color:#12060c;
  --theme-text-color:#e6c9c9;
  --theme-text-muted:#8f6f74;
  --cute-pink:#ff5a6e;
  --blood:#b3122e;
  --blood-bright:#ff2a4a;
  --blood-dark:#4a0714;
  --ff-border:#5c0f22;
  --ff-border-strong:#7d1430;
  --ff-card:#16070d;
  --ff-card-2:#1c0a11;
  --ff-shadow:0 1px 0 rgba(255,80,110,0.03) inset,0 2px 8px rgba(0,0,0,0.55);
  --ff-focus:0 0 0 2px rgba(255,42,74,0.35);
  --ff-button-bg:#1a0810;
  --ff-button-bg-hover:#2a0d17;
  --ff-button-text:#ffd7d7;
  --ff-button-border:rgba(255,60,90,0.35);
  --ff-button-solid-bg:#240b14;
  --ff-button-solid-hover:#3a0f1c;
  --ff-button-solid-text:#ffe0e0;
  --good:#4dbf6e;
  --bad:#ff5a72;
  --warn:#d8a83a;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scrollbar-color:#5c0f22 #12060c;}
html,body{background:#0a0307;color:var(--theme-text-color);}
html,body,a,button,input,select,textarea,label,.banner,.card,.modal,.toast,.logo-wrap,.tagline,.desc,.filters button,.status,.meta,.copy,.sample,.expand{
  cursor:url('cursor/jigsaw.cur'), auto !important;
}
body{
  background:var(--theme-bg-color);
  font-family:Verdana,Geneva,Tahoma,sans-serif;
  font-size:12px;
  line-height:1.5;
  min-height:100vh;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:998;
  background:radial-gradient(120% 90% at 50% 45%, transparent 55%, rgba(0,0,0,0.5) 100%);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:999;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,0.10) 3px 4px);
  animation:horror-flicker 7s steps(1) infinite;
}
@keyframes horror-flicker{
  0%,88%,90%,92%,100%{opacity:.55}
  89%{opacity:.2}
  91%{opacity:.85}
}
::selection{background:rgba(255,42,74,0.45);color:#fff;}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:#12060c;}
::-webkit-scrollbar-thumb{background:#5c0f22;border:1px solid #7d1430;}
::-webkit-scrollbar-thumb:hover{background:#7d1430;}
a{color:var(--blood-bright);text-decoration:none;}
a:hover{color:#ff8090;text-decoration:underline;}
a:visited{color:#c86a78;}

button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:32px;
  padding:6px 12px;
  border-radius:0;
  border:1px solid var(--ff-button-border);
  background:var(--ff-button-bg);
  color:var(--ff-button-text);
  cursor:pointer;
  font-family:inherit;
  font-size:11px;
  font-weight:900;
  letter-spacing:0.02em;
  transition:background 0.2s,box-shadow 0.2s,border-color 0.2s,color 0.2s;
  text-decoration:none;
}
button:hover{background:var(--ff-button-bg-hover);border-color:rgba(255,116,184,0.42);box-shadow:var(--ff-focus);color:var(--ff-button-text);}
button.primary{
  border-color:rgba(255,116,184,0.55);
  background:var(--ff-button-solid-bg);
  color:var(--ff-button-solid-text);
}
button.primary:hover{background:var(--ff-button-solid-hover);}
button.danger{border-color:rgba(255,116,184,0.28);}
button.danger:hover{border-color:rgba(255,106,140,0.6);color:#ff9aa8;background:#2a1010;box-shadow:0 0 0 2px rgba(220,38,38,0.22);}

input,select,textarea{
  width:100%;
  background:#0f050a;
  border:1px solid var(--ff-border);
  border-radius:2px;
  padding:8px 10px;
  color:var(--theme-text-color);
  font-family:inherit;
  font-size:12px;
  box-sizing:border-box;
  transition:border-color .2s,box-shadow .2s;
}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:var(--ff-focus);border-color:#b3122e;}

header{max-width:1200px;margin:0 auto;padding:0 20px;}
.logo-wrap{
  text-align:center;
  cursor:default;
  user-select:none;
  padding:26px 0 10px;
  position:relative;
  overflow:hidden;
}
.logo-img{display:inline-block;max-height:340px;max-width:92%;width:auto;height:auto;position:relative;z-index:1;}
.glitch-wrap{position:relative;display:inline-block;}
.glitch-copy{
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  background-image:url('logo/FEMBOYSec.png');
  background-size:contain;background-repeat:no-repeat;background-position:center;
  pointer-events:none;
  opacity:0;
  mix-blend-mode:screen;
}
.glitch-copy.show{opacity:.95;}
.glitch-copy.red{
  filter:grayscale(1) brightness(.55) sepia(1) saturate(14) hue-rotate(-45deg) drop-shadow(0 0 8px rgba(255,0,60,.9));
}
.glitch-copy.flash{filter:brightness(2.4) saturate(.3);opacity:1;}
.glitch-copy.jitter{animation:glitch-jitter .24s steps(1) 1;}
@keyframes glitch-jitter{
  0%{transform:translate(0,0)}
  8%{transform:translate(-9px,2px)}
  16%{transform:translate(8px,-2px)}
  24%{transform:translate(-7px,1px)}
  32%{transform:translate(9px,0)}
  40%{transform:translate(-8px,-1px)}
  48%{transform:translate(7px,1px)}
  56%{transform:translate(-6px,0)}
  64%{transform:translate(8px,0)}
  72%{transform:translate(-5px,0)}
  80%{transform:translate(4px,0)}
  88%{transform:translate(-3px,0)}
  96%{transform:translate(2px,0)}
  100%{transform:translate(0,0)}
}
.flicker{animation:power-flicker .45s steps(1) 1;}
@keyframes power-flicker{
  0%{opacity:1}
  12%{opacity:.18}
  20%{opacity:.85}
  30%{opacity:.12}
  38%{opacity:1}
  46%{opacity:.2}
  55%{opacity:.9}
  65%{opacity:.15}
  72%{opacity:1}
}
.tagline{display:block;margin-top:8px;font-size:10px;letter-spacing:0.1em;color:var(--theme-text-muted);}

.banner{
  margin:18px auto 0;
  max-width:960px;
  min-height:56px;
  border:1px solid #6e1128;
  border-radius:2px;
  background:linear-gradient(180deg,#180910 0%,#10050a 100%);
  padding:14px 16px;
  font-size:12px;
  line-height:1.7;
  color:#f2c9c9;
  text-align:left;
  white-space:pre-wrap;
  position:relative;
}

.stats{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin:20px auto 0;color:var(--theme-text-muted);font-size:11px;letter-spacing:0.04em;}
.stats b{color:var(--blood-bright);font-weight:900;}

.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px auto 0;max-width:900px;}
.filters button{border-radius:0;}
.filters button .n{color:var(--blood-bright);margin-left:6px;}
.filters button.on{
  background:var(--ff-button-solid-bg);
  border-color:rgba(255,42,74,0.6);
  color:var(--ff-button-solid-text);
}

.listings{max-width:1200px;margin:24px auto 50px;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;}
.card{
  background:linear-gradient(180deg,#16070d 0%,#12060c 100%);
  border:1px solid #4a0d1e;
  border-radius:2px;
  box-shadow:0 0 10px rgba(0,0,0,0.5);
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  position:relative;
  overflow:hidden;
  transition:transform .15s,border-color .15s,box-shadow .15s;
}
.card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#b3122e,#ff2a4a,#b3122e);
  opacity:.8;
}
.card:hover{
  transform:translateY(-3px);
  border-color:#8a1830;
  box-shadow:0 10px 30px rgba(0,0,0,0.6);
}
.card-top{display:flex;align-items:flex-start;gap:12px;}
.card-top h2{font-size:14px;font-weight:900;letter-spacing:0.02em;line-height:1.35;flex:1;color:#ffd7d7;}
.flag{width:52px;height:36px;flex:none;border:1px solid var(--ff-border);border-radius:2px;overflow:hidden;background:#120810;}
.flag img,.flag svg{width:100%;height:100%;display:block;object-fit:cover;}
.meta{font-size:11px;color:var(--theme-text-muted);}
.desc{font-size:12px;color:#d9b8b8;min-height:60px;white-space:pre-wrap;word-break:break-word;position:relative;line-height:1.6;}
.desc.tall{max-height:78px;overflow:hidden;}
.desc .expand{position:absolute;right:0;bottom:0;border:none;padding:2px 6px;color:var(--theme-text-muted);background:rgba(10,3,7,.94);min-height:auto;}
.desc .expand:hover{border:none;color:var(--blood-bright);box-shadow:none;background:rgba(10,3,7,.94);}

.modal{position:fixed;inset:0;background:rgba(5,2,4,0.9);display:flex;align-items:center;justify-content:center;z-index:1200;padding:24px;}
.modal[hidden]{display:none;}
.modal-box{
  background:linear-gradient(180deg,#14060c 0%,#0e0509 100%);
  border:1px solid #7d1430;
  border-radius:2px;
  box-shadow:0 18px 60px rgba(0,0,0,0.65);
  width:100%;
  max-width:840px;
  max-height:80vh;
  display:flex;
  flex-direction:column;
}
.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:linear-gradient(180deg,#8a1428 0%,#5c0d1e 100%);
  border:1px solid #a01730;
  border-bottom:1px solid #3a0714;
}
.modal-head span{color:#ffe0e0;font-weight:900;font-size:12px;letter-spacing:0.02em;word-break:break-all;}
.modal-head button{min-height:auto;padding:3px 8px;font-size:10px;border:1px solid rgba(255,255,255,0.25);background:rgba(0,0,0,0.25);color:#ffe4f0;}
.modal-head button:hover{background:rgba(0,0,0,0.45);color:#fff;}
.modal-body{flex:1;overflow:auto;padding:16px;font-family:inherit;font-size:12px;line-height:1.7;color:#e8c8d8;word-break:break-word;}
.modal-body .lm-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.modal-body .lm-meta{font-size:11px;color:var(--theme-text-muted);margin-bottom:10px;}
.modal-body .desc{min-height:0;white-space:pre-wrap;line-height:1.6;}
.modal-body .lm-foot{display:flex;align-items:center;gap:16px;margin-top:12px;border-top:1px solid #2a1626;padding-top:12px;font-size:11px;color:var(--theme-text-muted);}
.modal-body .lm-foot .sample{
  margin-left:auto;
  border-color:rgba(255,42,74,0.6);
  background:linear-gradient(180deg,#2a0b15 0%,#1c0810 100%);
  color:#ffe0e0;
  font-weight:900;
  font-size:11px;
  padding:8px 14px;
}
.modal-body .lm-foot .sample:hover{background:linear-gradient(180deg,#3a0f1c 0%,#2a0b15 100%);}
.countdown{font-size:11px;letter-spacing:0.04em;color:var(--warn);border-top:1px solid #2a1626;padding-top:10px;}
.countdown.expired{color:var(--theme-text-muted);}

.price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #2a1626;padding-top:12px;}
.btc{color:#ffb0b0;font-weight:900;font-size:15px;}
.wallet{font-size:11px;color:var(--theme-text-muted);word-break:break-all;display:flex;align-items:center;gap:8px;}
.wallet .copy{min-height:auto;padding:2px 6px;font-size:10px;}

.card-foot{display:flex;align-items:center;gap:16px;font-size:11px;color:var(--theme-text-muted);}
.card-foot .ic{display:inline-flex;align-items:center;gap:5px;}
.card-foot svg{opacity:.8;}
.card-foot .sample{
  margin-left:auto;
  border-color:rgba(255,42,74,0.6);
  background:linear-gradient(180deg,#2a0b15 0%,#1c0810 100%);
  color:#ffe0e0;
  font-weight:900;
  font-size:11px;
  padding:8px 14px;
}
.card-foot .sample:hover{background:linear-gradient(180deg,#3a0f1c 0%,#2a0b15 100%);}
.card.focused{
  border-color:#b3122e;
  outline:1px solid rgba(255,42,74,0.35);
}

footer{
  padding:18px 20px 30px;
  border-top:1px solid #4a0d1e;
  background:linear-gradient(180deg,#10050a 0%,#0a0307 100%);
  text-align:center;
  color:var(--theme-text-muted);
  font-size:11px;
}
footer b{color:var(--blood-bright);}
footer a{color:var(--blood-bright);}

.toast{
  position:fixed;
  bottom:24px;
  right:24px;
  background:linear-gradient(180deg,#1c0a12 0%,#120610 100%);
  border:1px solid #7d1430;
  border-radius:2px;
  box-shadow:0 18px 60px rgba(0,0,0,0.55);
  color:#ffe0e0;
  padding:12px 18px;
  font-size:12px;
  font-weight:800;
  z-index:1100;
  animation:slideIn .2s ease;
}
@keyframes slideIn{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}

.admin-shell{max-width:1200px;margin:0 auto;padding:24px 20px 60px;}
.admin-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid #4a0d1e;}
.admin-head h1{font-size:20px;letter-spacing:0.02em;color:#ffc9c9;}
.admin-head h1 span{color:var(--theme-text-muted);font-size:11px;font-weight:900;text-transform:uppercase;}
.warn-note{font-size:11px;color:var(--theme-text-muted);}
.btn-link{font-size:11px;letter-spacing:0.04em;font-weight:900;}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.a-card{
  background:linear-gradient(180deg,#14060c 0%,#10050a 100%);
  border:1px solid #4a0d1e;
  border-radius:2px;
  box-shadow:0 0 8px rgba(0,0,0,0.5);
  padding:0 18px 18px;
}
.a-card h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 -18px 14px;
  padding:10px 14px;
  background:linear-gradient(180deg,#8a1428 0%,#5c0d1e 100%);
  border:1px solid #a01730;
  border-bottom:1px solid #3a0714;
  color:#ffe0e0;
  font-size:12px;
  font-weight:900;
  letter-spacing:0.02em;
}
.a-card h4{font-size:11px;letter-spacing:0.06em;color:var(--theme-text-muted);margin:16px 0 8px;border-top:1px solid #2a1626;padding-top:14px;text-transform:uppercase;}
.a-card.full{grid-column:1/-1;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:0.04em;color:var(--theme-text-muted);}
.form-grid .full{grid-column:1/-1;}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}

table{width:100%;border-collapse:collapse;font-size:11px;background:#12060c;border:1px solid #4a0d1e;}
th{
  font-size:10px;
  letter-spacing:0.06em;
  color:#e6c9c9;
  text-align:left;
  padding:8px 10px;
  border-bottom:1px solid #4a0d1e;
  background:linear-gradient(180deg,#240a13 0%,#1a0710 100%);
  text-transform:uppercase;
}
td{padding:8px 10px;border-bottom:1px solid #3a0a18;vertical-align:middle;background:#16070d;}
tr:nth-child(even) td{background:#12060c;}
tr:hover td{background:#1f0a12;}
td .flag{width:34px;height:24px;}
.tbl-status{font-size:10px;font-weight:900;padding:2px 6px;border:1px solid;border-radius:2px;text-transform:uppercase;color:#ff6a7a;border-color:#8a1428;background:#2a070f;}
.tbl-btns{display:flex;gap:6px;}
.tbl-btns button{min-height:auto;padding:3px 8px;font-size:10px;}
.sec-log{max-height:220px;overflow:auto;background:#0a0307;border:1px solid #4a0d1e;border-radius:2px;padding:10px;font-size:11px;color:#d9b8b8;white-space:pre-wrap;word-break:break-all;}
.shake{animation:shake .4s;}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}

.progbar{
  position:relative;
  width:100%;
  height:30px;
  margin-top:12px;
  background:#0a0307;
  border:1px solid #5c0f22;
  border-radius:2px;
  overflow:hidden;
}
.progbar-inner{
  position:absolute;
  inset:0 auto 0 0;
  width:0%;
  background:linear-gradient(90deg,#7a1428 0%,#b3122e 50%,#ff2a4a 100%);
  transition:width 0.2s ease;
}
.progbar-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:900;
  color:#ffe0e0;
  text-shadow:0 1px 1px rgba(0,0,0,0.7);
  z-index:2;
  pointer-events:none;
}

@media(max-width:760px){.admin-grid{grid-template-columns:1fr}.listings{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

.toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px auto 0;max-width:960px;}
.search-box{display:flex;flex:1 1 360px;max-width:620px;gap:8px;}
.search-box input{flex:1;}
.search-box button{flex:none;padding:0 18px;border-color:rgba(255,42,74,0.6);background:linear-gradient(180deg,#2a0b15 0%,#1c0810 100%);color:#ffe0e0;font-weight:900;}
.search-box button:hover{background:linear-gradient(180deg,#3a0f1c 0%,#2a0b15 100%);}
#submitBtn{border-color:rgba(255,42,74,0.55);padding:0 18px;}

.avatar{
  width:56px;height:56px;flex:none;border:1px solid var(--ff-border);border-radius:4px;overflow:hidden;
  background:#16070d;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 10px rgba(0,0,0,0.5);
}
.avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.avatar.no-img::before{
  content:attr(data-i);font-size:28px;font-weight:900;color:#ff5a6e;
  text-shadow:0 0 12px rgba(255,42,74,0.6);text-transform:uppercase;
}
.card-top{display:flex;align-items:flex-start;gap:12px;}
.card-top h2{font-size:14px;font-weight:900;letter-spacing:0.02em;line-height:1.35;flex:1;color:#ffd7d7;word-break:break-word;}

.r-type{
  font-size:10px;font-weight:900;letter-spacing:0.06em;padding:2px 8px;white-space:nowrap;
  border:1px solid;border-radius:2px;text-transform:uppercase;flex:none;
}
.r-type.channel{background:#2a070f;color:#ff6a7a;border-color:#8a1428;}
.r-type.website{background:#07172a;color:#6ab0ff;border-color:#143a6b;}
.r-type.tool{background:#1c1c05;color:#d0b04a;border-color:#6b5a14;}
.r-type.forum{background:#07170c;color:#5fd183;border-color:#1f5c34;}
.r-type.contact{background:#22122a;color:#c58af0;border-color:#5a1f6b;}

.join-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
a.join{
  display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:11px;font-weight:900;
  border:1px solid rgba(255,42,74,0.6);border-radius:2px;color:#ffe0e0;text-decoration:none;
  background:linear-gradient(180deg,#2a0b15 0%,#1c0810 100%);
}
a.join:hover{background:linear-gradient(180deg,#3a0f1c 0%,#2a0b15 100%);color:#ffb9c4;text-decoration:none;border-color:rgba(255,116,184,0.42);box-shadow:var(--ff-focus);}

.submit-form{display:flex;flex-direction:column;gap:12px;}
.submit-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:0.04em;color:var(--theme-text-muted);}
.submit-form .sect{flex:1;}
.submit-form .row{display:flex;gap:12px;flex-wrap:wrap;}
.submit-form .row > label{flex:1;min-width:200px;}
.links-editor{border:1px solid var(--ff-border);border-radius:2px;padding:12px;background:#10050a;}
.links-editor legend{font-size:11px;letter-spacing:0.04em;color:var(--theme-text-muted);padding:0 6px;}
.links-editor button{margin-top:8px;}
.link-row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
.link-row .lk-label,.link-row input[name="link_label"]{flex:0 1 160px;}
.link-row .lk-url,.link-row input[name="link_url"]{flex:1 1 220px;}
.del-link{flex:none;min-height:auto;padding:3px 8px;font-size:10px;border-color:rgba(255,106,140,0.4);color:#ff9aa8;}
.del-link:hover{background:#2a1010;border-color:rgba(220,38,38,0.5);color:#ff9aa8;}

.sub-item{border:1px solid #3a0a18;border-radius:2px;padding:10px 12px;margin-bottom:10px;background:#14060c;}
.sub-item .sub-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.sub-item .sub-head b{color:#ffd7d7;font-size:12px;}
.err{color:var(--bad);font-size:11px;margin-top:8px;font-weight:700;}
