/* ROBINCORE 후원 (Support) — 카테고리 페이지 · 프로필 페이지 공용 스타일 */
:root{
  --sp-rose1:#FF7AA8;
  --sp-rose2:#F43F7F;
  --sp-rose-soft:rgba(255,122,168,.12);
  --sp-rose-line:rgba(255,122,168,.35);
  --sp-card:#10151C;
  --sp-card2:#0B0F14;
  --sp-line:#232C38;
  --sp-text:#E9EEF4;
  --sp-sub:#A3AEBA;
  --sp-dim:#6B7684;
}
@property --sp-ang{syntax:'<angle>';initial-value:0deg;inherits:false;}

.sp-wrap{max-width:1180px;margin:0 auto;padding:28px 18px 80px;color:var(--sp-text);}
.sp-wrap *,.sp-modal *{box-sizing:border-box;}
.sp-grad{background:linear-gradient(90deg,var(--sp-rose1),var(--sp-rose2));-webkit-background-clip:text;background-clip:text;color:transparent;}

/* ---------- 공용 버튼 ---------- */
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:14px;font-weight:800;font-size:15px;cursor:pointer;border:0;text-decoration:none;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;white-space:nowrap;}
.sp-btn:active{transform:scale(.97);}
.sp-btn-rose{color:#fff;background:linear-gradient(135deg,var(--sp-rose1),var(--sp-rose2));box-shadow:0 8px 26px rgba(244,63,127,.35),inset 0 1px 0 rgba(255,255,255,.25);position:relative;overflow:hidden;}
.sp-btn-rose:hover{box-shadow:0 10px 34px rgba(244,63,127,.5),inset 0 1px 0 rgba(255,255,255,.3);transform:translateY(-1px);}
.sp-btn-rose::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:spShine 3.6s ease-in-out infinite;}
.sp-btn-ghost{color:var(--sp-rose1);background:rgba(255,122,168,.06);border:1px solid var(--sp-rose-line);}
.sp-btn-ghost:hover{background:rgba(255,122,168,.13);border-color:var(--sp-rose1);}
.sp-btn-sm{height:36px;padding:0 14px;border-radius:10px;font-size:13px;}
.sp-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;}
@keyframes spShine{0%,55%{left:-60%}100%{left:130%}}
@keyframes spBeat{0%,100%{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.12)}48%{transform:scale(1)}}
@keyframes spSpin{to{--sp-ang:360deg}}
@keyframes spGlow{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes spFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ---------- 히어로 ---------- */
.sp-hero{position:relative;border-radius:26px;padding:54px 40px 34px;overflow:hidden;border:1px solid var(--sp-rose-line);
  background:radial-gradient(900px 380px at 12% -10%,rgba(255,122,168,.22),transparent 60%),radial-gradient(700px 360px at 100% 110%,rgba(244,63,127,.16),transparent 60%),linear-gradient(180deg,#141019,#0C0E13);}
.sp-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,122,168,.18) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 70%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 70%);pointer-events:none;}
.sp-hero-in{position:relative;z-index:1;max-width:760px;}
.sp-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,122,168,.1);border:1px solid var(--sp-rose-line);color:var(--sp-rose1);font-size:12px;font-weight:800;letter-spacing:.08em;}
.sp-kicker .sp-heart{display:inline-block;animation:spBeat 1.6s ease-in-out infinite;}
.sp-h1{font-size:44px;line-height:1.18;font-weight:900;margin:18px 0 14px;letter-spacing:-.02em;word-break:keep-all;}
.sp-lead{font-size:16px;line-height:1.75;color:var(--sp-sub);margin:0 0 26px;word-break:keep-all;}
.sp-cta{display:flex;gap:12px;flex-wrap:wrap;}
.sp-hero-deco{position:absolute;right:-30px;top:30px;font-size:220px;line-height:1;color:rgba(255,122,168,.07);animation:spFloat 6s ease-in-out infinite;pointer-events:none;user-select:none;}

.sp-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;}
.sp-stat{background:rgba(10,12,17,.7);border:1px solid var(--sp-line);border-radius:16px;padding:16px 18px;backdrop-filter:blur(6px);}
.sp-stat b{display:block;font-size:24px;font-weight:900;letter-spacing:-.01em;}
.sp-stat span{font-size:12px;color:var(--sp-sub);font-weight:600;}

.sp-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;}
.sp-trust div{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;background:var(--sp-card);border:1px solid var(--sp-line);font-size:13px;font-weight:700;color:var(--sp-text);word-break:keep-all;}
.sp-trust i{flex-shrink:0;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:14px;background:var(--sp-rose-soft);color:var(--sp-rose1);}

/* ---------- 섹션 제목 ---------- */
.sp-sec{margin-top:64px;}
.sp-sec-t{font-size:28px;font-weight:900;margin:0 0 8px;letter-spacing:-.01em;word-break:keep-all;}
.sp-sec-s{font-size:14px;color:var(--sp-sub);margin:0 0 24px;line-height:1.7;word-break:keep-all;}
.sp-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--sp-rose1);margin-bottom:8px;text-transform:uppercase;}

/* ---------- 왜 만들었나 (살아있는 테두리) ---------- */
.sp-why{position:relative;border-radius:26px;padding:2px;margin-top:64px;
  background:conic-gradient(from var(--sp-ang),rgba(255,122,168,.15),var(--sp-rose1),rgba(244,63,127,.2),var(--sp-rose2),rgba(255,122,168,.15));
  animation:spSpin 7s linear infinite;}
.sp-why::before{content:"";position:absolute;inset:-6px;border-radius:30px;background:inherit;filter:blur(18px);opacity:.45;z-index:-1;animation:spGlow 3.2s ease-in-out infinite;}
.sp-why-in{border-radius:24px;background:linear-gradient(135deg,#15101A 0%,#0D1016 55%);display:grid;grid-template-columns:360px 1fr;gap:36px;align-items:center;padding:34px;overflow:hidden;position:relative;}
.sp-why-img{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:1/1;background:#0A0C10;}
.sp-why-img img{width:100%;height:100%;object-fit:cover;display:block;}
.sp-why-img::after{content:"";position:absolute;inset:0;border-radius:20px;box-shadow:inset 0 0 0 1px rgba(255,122,168,.3),inset 0 -60px 60px -30px rgba(13,16,22,.8);}
.sp-why-t{font-size:30px;font-weight:900;margin:0 0 18px;}
.sp-why p{font-size:15px;line-height:1.85;color:var(--sp-sub);margin:0 0 14px;word-break:keep-all;}
.sp-why p.sp-why-close{margin:22px 0 0;padding:16px 18px;border-radius:14px;background:rgba(255,122,168,.07);border-left:3px solid var(--sp-rose1);color:var(--sp-text);font-weight:700;}

/* ---------- 작동 방식 ---------- */
.sp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative;}
.sp-step{position:relative;background:var(--sp-card);border:1px solid var(--sp-line);border-radius:20px;padding:26px 22px;transition:border-color .2s ease,transform .2s ease;}
.sp-step:hover{border-color:var(--sp-rose-line);transform:translateY(-3px);}
.sp-step-n{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:17px;color:#fff;background:linear-gradient(135deg,var(--sp-rose1),var(--sp-rose2));box-shadow:0 6px 18px rgba(244,63,127,.35);margin-bottom:16px;}
.sp-step h4{font-size:17px;font-weight:800;margin:0 0 8px;}
.sp-step p{font-size:13.5px;line-height:1.75;color:var(--sp-sub);margin:0;word-break:keep-all;}
.sp-step:not(:last-child)::after{content:"›";position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#0B0F14;border:1px solid var(--sp-rose-line);color:var(--sp-rose1);display:flex;align-items:center;justify-content:center;font-weight:900;z-index:2;font-size:16px;line-height:1;}

/* ---------- 왜 참여하나 ---------- */
.sp-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.sp-role{border-radius:20px;padding:24px 22px;background:linear-gradient(180deg,rgba(255,122,168,.09),rgba(255,122,168,0) 55%),var(--sp-card);border:1px solid var(--sp-line);}
.sp-role-ic{font-size:26px;margin-bottom:12px;}
.sp-role h4{font-size:17px;font-weight:800;margin:0 0 8px;color:var(--sp-rose1);}
.sp-role p{font-size:13.5px;line-height:1.75;color:var(--sp-sub);margin:0;word-break:keep-all;}

/* ---------- 프로필 목록 ---------- */
.sp-dir-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.sp-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.sp-search{position:relative;}
.sp-search input{width:260px;height:44px;border-radius:12px;background:var(--sp-card2);border:1px solid var(--sp-line);color:var(--sp-text);padding:0 14px 0 40px;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;}
.sp-search input:focus{border-color:var(--sp-rose1);box-shadow:0 0 0 3px rgba(255,122,168,.15);}
.sp-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--sp-dim);}
.sp-seg{display:inline-flex;padding:4px;border-radius:12px;background:var(--sp-card2);border:1px solid var(--sp-line);}
.sp-seg button{height:34px;padding:0 14px;border-radius:9px;border:0;background:transparent;color:var(--sp-sub);font-weight:700;font-size:13px;cursor:pointer;}
.sp-seg button.on{background:linear-gradient(135deg,var(--sp-rose1),var(--sp-rose2));color:#fff;box-shadow:0 4px 12px rgba(244,63,127,.3);}

.sp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.sp-card{position:relative;display:flex;flex-direction:column;border-radius:20px;background:var(--sp-card);border:1px solid var(--sp-line);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.sp-card:hover{transform:translateY(-4px);border-color:var(--sp-rose-line);box-shadow:0 14px 36px rgba(244,63,127,.16);}
.sp-card-img{position:relative;aspect-ratio:1/1;background:#0A0C10;overflow:hidden;}
.sp-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.sp-card:hover .sp-card-img img{transform:scale(1.04);}
.sp-card-img::after{content:"";position:absolute;inset:auto 0 0 0;height:50%;background:linear-gradient(0deg,rgba(16,21,28,.95),transparent);}
.sp-card-tag{position:absolute;top:12px;left:12px;z-index:1;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;background:rgba(10,12,16,.72);border:1px solid var(--sp-rose-line);color:var(--sp-rose1);backdrop-filter:blur(6px);}
.sp-card-body{padding:4px 16px 16px;margin-top:-34px;position:relative;z-index:1;}
.sp-card-name{font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;}
.sp-card-handle{font-size:12.5px;color:var(--sp-rose1);font-weight:700;margin-top:2px;}
.sp-card-bio{font-size:12.5px;color:var(--sp-sub);line-height:1.6;margin:10px 0 12px;height:40px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:keep-all;}
.sp-card-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.sp-card-foot div{background:var(--sp-card2);border:1px solid var(--sp-line);border-radius:11px;padding:8px 10px;}
.sp-card-foot b{display:block;font-size:14px;font-weight:900;}
.sp-card-foot span{font-size:11px;color:var(--sp-dim);font-weight:600;}
.sp-vf{display:inline-flex;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--sp-rose1),var(--sp-rose2));color:#fff;font-size:10px;align-items:center;justify-content:center;flex-shrink:0;}

.sp-empty{grid-column:1/-1;text-align:center;padding:56px 20px;border:1px dashed var(--sp-rose-line);border-radius:20px;color:var(--sp-sub);background:rgba(255,122,168,.03);}
.sp-empty b{display:block;font-size:17px;color:var(--sp-text);margin-bottom:6px;}
.sp-empty .sp-btn{margin-top:18px;}
.sp-more{display:flex;justify-content:center;margin-top:22px;}
.sp-skel{border-radius:20px;background:linear-gradient(90deg,#10151C 0%,#171d26 50%,#10151C 100%);background-size:200% 100%;animation:spSk 1.3s ease-in-out infinite;aspect-ratio:3/4.1;border:1px solid var(--sp-line);}
@keyframes spSk{0%{background-position:100% 0}100%{background-position:-100% 0}}

.sp-disc{margin-top:48px;padding:16px 18px;border-radius:14px;background:var(--sp-card2);border:1px solid var(--sp-line);font-size:12.5px;line-height:1.75;color:var(--sp-dim);word-break:keep-all;}
.sp-disc b{color:var(--sp-sub);}

/* ---------- 모달 ---------- */
.sp-modal{color:var(--sp-text);position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(4,5,8,.72);backdrop-filter:blur(8px);}
.sp-modal.on{display:flex;animation:spFade .2s ease;}
@keyframes spFade{from{opacity:0}to{opacity:1}}
@keyframes spPop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.sp-mbox{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;border-radius:24px;background:linear-gradient(180deg,#16111A,#0E1116 40%);border:1px solid var(--sp-rose-line);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,122,168,.08),0 0 60px rgba(244,63,127,.14);animation:spPop .25s ease;overflow:hidden;}
.sp-mhead{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px;border-bottom:1px solid var(--sp-line);}
.sp-mhead h3{margin:0;font-size:19px;font-weight:900;display:flex;align-items:center;gap:8px;}
.sp-mhead h3 .sp-heart{color:var(--sp-rose1);animation:spBeat 1.6s ease-in-out infinite;display:inline-block;}
.sp-mx{width:34px;height:34px;border-radius:10px;border:1px solid var(--sp-line);background:transparent;color:var(--sp-sub);font-size:18px;cursor:pointer;line-height:1;}
.sp-mx:hover{color:#fff;border-color:var(--sp-rose-line);}
.sp-mbody{padding:18px 22px 6px;overflow-y:auto;}
.sp-mfoot{display:flex;gap:10px;padding:14px 22px 20px;border-top:1px solid var(--sp-line);}
.sp-mfoot .sp-btn{flex:1;}

/* 로즈 스크롤바 */
.sp-mbody,.sp-scroll{scrollbar-width:thin;scrollbar-color:rgba(255,122,168,.55) transparent;}
.sp-mbody::-webkit-scrollbar,.sp-scroll::-webkit-scrollbar{width:8px;height:8px;}
.sp-mbody::-webkit-scrollbar-track,.sp-scroll::-webkit-scrollbar-track{background:transparent;margin:6px;}
.sp-mbody::-webkit-scrollbar-thumb,.sp-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--sp-rose1),var(--sp-rose2));border-radius:8px;border:2px solid transparent;background-clip:padding-box;}
.sp-mbody::-webkit-scrollbar-thumb:hover,.sp-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#FF95BA,#FF4F8C);background-clip:padding-box;border:2px solid transparent;}

/* 폼 */
.sp-f{margin-bottom:16px;}
.sp-f > label{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:700;color:var(--sp-sub);margin-bottom:8px;}
.sp-f > label em{font-style:normal;font-weight:600;color:var(--sp-dim);font-size:11.5px;}
.sp-in,.sp-ta{width:100%;background:var(--sp-card2);border:1px solid var(--sp-line);color:var(--sp-text);border-radius:12px;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit;}
.sp-in{height:46px;padding:0 14px;}
.sp-ta{padding:12px 14px;min-height:96px;resize:vertical;line-height:1.6;}
.sp-in:focus,.sp-ta:focus{border-color:var(--sp-rose1);box-shadow:0 0 0 3px rgba(255,122,168,.15);}
.sp-in::placeholder,.sp-ta::placeholder{color:#4F5A67;}
.sp-in[readonly]{opacity:.7;cursor:not-allowed;}
.sp-handle{position:relative;display:flex;align-items:center;}
.sp-handle .sp-pre{position:absolute;left:14px;color:var(--sp-rose1);font-weight:900;font-size:15px;}
.sp-handle .sp-in{padding-left:32px;}
.sp-url{margin-top:7px;font-size:12px;color:var(--sp-dim);word-break:break-all;}
.sp-url b{color:var(--sp-rose1);font-weight:700;}
.sp-msg{margin-top:7px;font-size:12px;font-weight:700;min-height:16px;}
.sp-msg.ok{color:#3DDC84;}
.sp-msg.bad{color:#FF5C7A;}
.sp-msg.wait{color:var(--sp-dim);}

.sp-wallet{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,122,168,.06);border:1px solid var(--sp-rose-line);font-size:13px;}
.sp-wallet code{font-family:ui-monospace,Menlo,monospace;color:var(--sp-text);font-size:12.5px;word-break:break-all;}
.sp-wallet i{font-style:normal;color:var(--sp-rose1);}
.sp-hint{font-size:11.5px;color:var(--sp-dim);margin-top:7px;line-height:1.6;word-break:keep-all;}

.sp-tags{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.sp-tags button{height:42px;border-radius:11px;border:1px solid var(--sp-line);background:var(--sp-card2);color:var(--sp-sub);font-weight:700;font-size:13px;cursor:pointer;transition:all .15s ease;}
.sp-tags button.on{border-color:var(--sp-rose1);background:rgba(255,122,168,.12);color:var(--sp-rose1);box-shadow:inset 0 0 0 1px var(--sp-rose1);}

.sp-up{display:flex;align-items:center;gap:14px;}
.sp-up-prev{width:84px;height:84px;border-radius:18px;flex-shrink:0;background:var(--sp-card2) center/cover no-repeat;border:1px dashed var(--sp-rose-line);display:flex;align-items:center;justify-content:center;color:var(--sp-rose1);font-size:26px;}
.sp-up-prev.has{border-style:solid;font-size:0;}
.sp-up-r{flex:1;}
.sp-up-r .sp-btn{margin-bottom:6px;}

.sp-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.sp-link{position:relative;}
.sp-link .sp-in{padding-left:40px;height:42px;font-size:13px;}
.sp-link span{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:rgba(255,122,168,.1);color:var(--sp-rose1);}
.sp-link svg{width:13px;height:13px;}

.sp-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);z-index:9500;padding:12px 18px;border-radius:12px;background:#1A1219;border:1px solid var(--sp-rose-line);color:var(--sp-text);font-size:13.5px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:all .25s ease;}
.sp-toast.on{opacity:1;transform:translateX(-50%) translateY(0);}

/* ---------- 프로필 페이지 ---------- */
.spp-top{position:relative;border-radius:26px;padding:2px;background:conic-gradient(from var(--sp-ang),rgba(255,122,168,.12),var(--sp-rose1),rgba(244,63,127,.15),var(--sp-rose2),rgba(255,122,168,.12));animation:spSpin 8s linear infinite;}
.spp-top-in{border-radius:24px;padding:30px;background:radial-gradient(600px 260px at 0% 0%,rgba(255,122,168,.14),transparent 60%),linear-gradient(180deg,#15101A,#0D1016);display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:start;}
.spp-img{width:200px;height:200px;border-radius:24px;overflow:hidden;background:#0A0C10;box-shadow:0 0 0 1px rgba(255,122,168,.35),0 16px 40px rgba(244,63,127,.2);}
.spp-img img{width:100%;height:100%;object-fit:cover;display:block;}
.spp-name{font-size:32px;font-weight:900;margin:4px 0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;word-break:break-word;}
.spp-name .sp-vf{width:22px;height:22px;font-size:13px;}
.spp-handle{font-size:15px;font-weight:800;color:var(--sp-rose1);}
.spp-chip{display:inline-flex;margin-left:8px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;background:rgba(255,122,168,.1);border:1px solid var(--sp-rose-line);color:var(--sp-rose1);vertical-align:middle;}
.spp-bio{font-size:14.5px;line-height:1.8;color:var(--sp-sub);margin:14px 0 16px;white-space:pre-wrap;word-break:keep-all;}
.spp-sns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.spp-sns a{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--sp-card2);border:1px solid var(--sp-line);color:var(--sp-sub);transition:all .15s ease;}
.spp-sns a:hover{color:var(--sp-rose1);border-color:var(--sp-rose1);background:rgba(255,122,168,.08);transform:translateY(-2px);}
.spp-sns svg{width:16px;height:16px;}
.spp-wal{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--sp-dim);margin-bottom:18px;}
.spp-wal code{font-family:ui-monospace,Menlo,monospace;color:var(--sp-sub);background:var(--sp-card2);border:1px solid var(--sp-line);padding:5px 9px;border-radius:8px;}
.spp-act{display:flex;gap:10px;flex-wrap:wrap;}

.spp-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin-top:18px;}
.spp-stat{border-radius:20px;padding:20px 22px;background:var(--sp-card);border:1px solid var(--sp-line);}
.spp-stat.big{background:linear-gradient(135deg,rgba(255,122,168,.16),rgba(244,63,127,.06) 60%,var(--sp-card));border-color:var(--sp-rose-line);}
.spp-stat span{display:block;font-size:12.5px;color:var(--sp-sub);font-weight:700;margin-bottom:6px;}
.spp-stat b{font-size:28px;font-weight:900;letter-spacing:-.01em;}
.spp-stat.big b{font-size:36px;}

.spp-cols{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:18px;align-items:start;}
.spp-box{border-radius:22px;background:var(--sp-card);border:1px solid var(--sp-line);padding:20px;}
.spp-box h3{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;font-weight:900;margin:0 0 14px;}
.spp-box h3 small{font-size:12px;color:var(--sp-dim);font-weight:700;}
.spp-list{max-height:520px;overflow-y:auto;margin-right:-8px;padding-right:8px;}

.spp-coin{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;text-decoration:none;color:inherit;border:1px solid transparent;transition:all .15s ease;}
.spp-coin + .spp-coin{margin-top:4px;}
.spp-coin:hover{background:rgba(255,122,168,.06);border-color:var(--sp-rose-line);}
.spp-coin img,.spp-noimg{width:44px;height:44px;border-radius:12px;object-fit:cover;flex-shrink:0;background:#0A0C10;}
.spp-noimg{display:flex;align-items:center;justify-content:center;color:var(--sp-rose1);font-weight:900;}
.spp-coin-m{flex:1;min-width:0;}
.spp-coin-m b{display:block;font-size:14.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.spp-coin-m span{font-size:12px;color:var(--sp-dim);font-weight:600;}
.spp-pct{padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--sp-rose1),var(--sp-rose2));margin-left:6px;}
.spp-coin-r{text-align:right;flex-shrink:0;}
.spp-coin-r b{display:block;font-size:14px;font-weight:900;}
.spp-coin-r span{font-size:11.5px;color:var(--sp-dim);}
.spp-arrow{color:var(--sp-dim);font-weight:900;margin-left:4px;}

.spp-asset{padding:14px;border-radius:16px;background:var(--sp-card2);border:1px solid var(--sp-line);}
.spp-asset + .spp-asset{margin-top:10px;}
.spp-asset-h{display:flex;align-items:center;gap:10px;}
.spp-asset-h img,.spp-asset-h .spp-noimg{width:34px;height:34px;border-radius:50%;}
.spp-asset-h > div{flex:1;min-width:0;}
.spp-asset-h b{display:block;font-size:15px;font-weight:900;}
.spp-asset-h span{font-size:12px;color:var(--sp-dim);}
.spp-asset-h .spp-usd{text-align:right;flex:0 0 auto;}
.spp-asset-h .spp-usd b{color:var(--sp-rose1);}
.spp-ca{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--sp-line);flex-wrap:wrap;}
.spp-ca code{flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--sp-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.spp-ca button{height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--sp-line);background:transparent;color:var(--sp-sub);font-size:11.5px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap;}
.spp-ca button:hover{color:var(--sp-rose1);border-color:var(--sp-rose1);}
.spp-ca button.rose{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--sp-rose1),var(--sp-rose2));}
.spp-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(255,122,168,.06);border:1px solid var(--sp-rose-line);font-size:12.5px;line-height:1.7;color:var(--sp-sub);word-break:keep-all;}
.spp-note b{color:var(--sp-rose1);}

.spp-tx{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--sp-line);font-size:13px;}
.spp-tx:last-child{border-bottom:0;}
.spp-tx i{font-style:normal;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(255,122,168,.1);color:var(--sp-rose1);flex-shrink:0;}
.spp-tx > div{flex:1;min-width:0;}
.spp-tx b{font-weight:800;}
.spp-tx span{display:block;font-size:11.5px;color:var(--sp-dim);}
.spp-tx a{color:var(--sp-sub);font-size:12px;text-decoration:none;font-weight:700;}
.spp-tx a:hover{color:var(--sp-rose1);}
.spp-none{text-align:center;padding:28px 10px;color:var(--sp-dim);font-size:13px;}

.spp-cta{margin-top:18px;border-radius:22px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(120deg,rgba(255,122,168,.16),rgba(244,63,127,.05));border:1px solid var(--sp-rose-line);}
.spp-cta b{font-size:17px;font-weight:900;display:block;margin-bottom:4px;}
.spp-cta span{font-size:13px;color:var(--sp-sub);}
.spp-404{text-align:center;padding:90px 20px;}
.spp-404 b{display:block;font-size:26px;font-weight:900;margin:14px 0 8px;}
.spp-404 p{color:var(--sp-sub);margin:0 0 22px;}

/* ---------- 반응형 ---------- */
@media (max-width:1024px){
  .sp-grid{grid-template-columns:repeat(3,1fr);}
  .sp-trust{grid-template-columns:repeat(2,1fr);}
  .sp-why-in{grid-template-columns:280px 1fr;gap:26px;}
  .spp-cols{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .sp-wrap{padding:16px 14px 60px;}
  .sp-hero{padding:34px 20px 22px;border-radius:22px;}
  .sp-h1{font-size:30px;}
  .sp-lead{font-size:14.5px;}
  .sp-hero-deco{font-size:140px;right:-30px;top:auto;bottom:40px;}
  .sp-stats{grid-template-columns:1fr 1fr 1fr;gap:8px;}
  .sp-stat{padding:12px;}
  .sp-stat b{font-size:17px;}
  .sp-stat span{font-size:11px;}
  .sp-cta .sp-btn{flex:1;}
  .sp-sec{margin-top:46px;}
  .sp-sec-t{font-size:22px;}
  .sp-why{margin-top:46px;}
  .sp-why-in{grid-template-columns:1fr;padding:20px;gap:20px;}
  .sp-why-t{font-size:23px;}
  .sp-steps,.sp-roles{grid-template-columns:1fr;}
  .sp-step:not(:last-child)::after{content:"⌄";right:50%;top:auto;bottom:-16px;transform:translateX(50%);}
  .sp-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .sp-card-body{padding:4px 12px 12px;}
  .sp-card-bio{display:none;}
  .sp-card-foot{margin-top:10px;}
  .sp-search input{width:100%;}
  .sp-search,.sp-tools{width:100%;}
  .sp-search{flex:1;}
  .sp-links{grid-template-columns:1fr;}
  .spp-top-in{grid-template-columns:1fr;padding:20px;gap:18px;justify-items:start;}
  .spp-img{width:128px;height:128px;border-radius:20px;}
  .spp-name{font-size:25px;}
  .spp-stats{grid-template-columns:1fr 1fr;}
  .spp-stat.big{grid-column:1/-1;}
  .spp-stat b{font-size:22px;}
  .spp-stat.big b{font-size:30px;}
}
@media (max-width:420px){
  .sp-trust{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .sp-why,.spp-top,.sp-why::before,.sp-btn-rose::after,.sp-heart,.sp-hero-deco{animation:none!important;}
}
/* 보정 */
.spp-asset-h > div.spp-noimg{flex:0 0 34px;width:34px;height:34px;border-radius:50%;}
.spp-coin-m .spp-pct{color:#fff;font-size:11px;font-weight:900;display:inline-block;vertical-align:1px;}
@media (max-width:760px){ .sp-cta .sp-btn{flex:1 1 100%;} }

/* 후원 페이지 전용 배경 — 편안한 로즈 톤 */
body.sp-page{
  background-color:#1A1418!important;
  background-image:
    radial-gradient(900px 520px at 15% -10%, rgba(255,122,168,0.10) 0%, transparent 60%),
    radial-gradient(1000px 620px at 88% 12%, rgba(244,63,127,0.06) 0%, transparent 55%),
    radial-gradient(800px 500px at 50% 100%, rgba(255,150,180,0.05) 0%, transparent 60%),
    linear-gradient(180deg, #221A1F 0%, #1A1418 45%, #161115 100%)!important;
}
body.sp-page{
  --sp-card:#211A1F;
  --sp-card2:#1A1419;
  --sp-line:#3A2C35;
  --sp-sub:#B8A9B2;
  --sp-dim:#85737E;
}
body.sp-page .sp-hero{background:radial-gradient(900px 380px at 12% -10%,rgba(255,122,168,.20),transparent 60%),radial-gradient(700px 360px at 100% 110%,rgba(244,63,127,.12),transparent 60%),linear-gradient(180deg,#2A1E25,#1D161B);}
body.sp-page .sp-stat{background:rgba(26,20,25,.7);}
body.sp-page .sp-why-in{background:linear-gradient(135deg,#2A1E25 0%,#1D161B 60%);}
body.sp-page .sp-step:not(:last-child)::after{background:#1A1419;}
body.sp-page .sp-mbox{background:linear-gradient(180deg,#2A1E25,#1D161B 40%);}
body.sp-page .spp-top-in{background:radial-gradient(600px 260px at 0% 0%,rgba(255,122,168,.14),transparent 60%),linear-gradient(180deg,#2A1E25,#1D161B);}
body.sp-page .sp-skel{background:linear-gradient(90deg,#211A1F 0%,#2B222A 50%,#211A1F 100%);background-size:200% 100%;}
body.sp-page .sp-why-img,body.sp-page .sp-card-img,body.sp-page .spp-img{background:#1D161B;}

/* 왜 참여하나 — 아이콘 */
.sp-role{transition:border-color .2s ease,transform .2s ease;}
.sp-role:hover{border-color:var(--sp-rose-line);transform:translateY(-3px);}
.sp-role-ic{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:0;
  color:var(--sp-rose1);background:linear-gradient(135deg,rgba(255,122,168,.22),rgba(244,63,127,.06));border:1px solid rgba(255,122,168,.4);
  box-shadow:0 8px 22px rgba(244,63,127,.16),inset 0 1px 0 rgba(255,255,255,.08);transition:all .25s ease;}
.sp-role:hover .sp-role-ic{color:#fff;background:linear-gradient(135deg,var(--sp-rose1),var(--sp-rose2));border-color:transparent;box-shadow:0 10px 26px rgba(244,63,127,.4);}

/* 신뢰 안내 */
.sp-tip{display:flex;gap:12px;align-items:flex-start;margin:4px 0 12px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,rgba(255,122,168,.12),rgba(244,63,127,.04));border:1px solid var(--sp-rose-line);}
.sp-tip i,.spp-own i{flex-shrink:0;width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-style:normal;color:#fff;background:linear-gradient(135deg,var(--sp-rose1),var(--sp-rose2));box-shadow:0 6px 16px rgba(244,63,127,.3);}
.sp-tip b{display:block;font-size:13.5px;font-weight:800;color:var(--sp-text);margin-bottom:4px;}
.sp-tip span{display:block;font-size:12.5px;line-height:1.7;color:var(--sp-sub);word-break:keep-all;}
.spp-own{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding:18px 20px;border-radius:20px;background:linear-gradient(120deg,rgba(255,122,168,.14),rgba(244,63,127,.04));border:1px dashed rgba(255,122,168,.55);}
.spp-own-t{flex:1;min-width:240px;}
.spp-own-t b{display:block;font-size:15px;font-weight:900;margin-bottom:4px;}
.spp-own-t span{display:block;font-size:13px;line-height:1.7;color:var(--sp-sub);word-break:keep-all;}
.spp-own-a{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.spp-own-a code{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;color:var(--sp-rose1);background:var(--sp-card2);border:1px solid var(--sp-line);padding:8px 12px;border-radius:10px;}

/* 관리자 패널 */
.spa-box{margin-bottom:18px;padding:16px 18px;border-radius:18px;background:#1B1318;border:1px solid rgba(255,170,60,.55);box-shadow:0 0 0 1px rgba(255,170,60,.12),0 10px 28px rgba(0,0,0,.35);}
.spa-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.spa-top b{font-size:13px;font-weight:900;color:#FFB347;letter-spacing:.06em;margin-right:4px;}
.spa-chip{font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--sp-line);color:var(--sp-sub);}
.spa-chip.on{color:#3DDC84;border-color:rgba(61,220,132,.45);background:rgba(61,220,132,.08);}
.spa-chip.off{color:#FF5C7A;border-color:rgba(255,92,122,.5);background:rgba(255,92,122,.08);}
.spa-row{display:flex;gap:8px;flex-wrap:wrap;}
.spa-row input{flex:1;min-width:200px;height:40px;border-radius:10px;background:var(--sp-card2);border:1px solid var(--sp-line);color:var(--sp-text);padding:0 12px;font-size:13px;outline:none;}
.spa-row input:focus{border-color:#FFB347;}
.spa-btn{height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--sp-line);background:var(--sp-card2);color:var(--sp-text);font-weight:800;font-size:13px;cursor:pointer;}
.spa-btn.bad{background:rgba(255,92,122,.15);border-color:rgba(255,92,122,.6);color:#FF8FA3;}
.spa-btn.ok{background:rgba(61,220,132,.12);border-color:rgba(61,220,132,.55);color:#3DDC84;}
.spa-btn[disabled]{opacity:.5;cursor:not-allowed;}
.spa-logs{margin-top:12px;border-top:1px dashed var(--sp-line);padding-top:10px;max-height:180px;overflow-y:auto;}
.spa-lt{font-size:11.5px;font-weight:800;color:var(--sp-dim);margin-bottom:6px;}
.spa-log{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12px;padding:4px 0;color:var(--sp-sub);}
.spa-log b{font-weight:900;}
.spa-a-hide{color:#FF8FA3;}.spa-a-unhide{color:#3DDC84;}.spa-a-verify{color:#FF7AA8;}.spa-a-unverify{color:var(--sp-dim);}
.spa-log em{font-style:normal;color:var(--sp-text);}

/* 관리자 확인 팝업 */
.spa-md{position:fixed;inset:0;z-index:9800;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(6,4,6,.7);backdrop-filter:blur(8px);opacity:0;transition:opacity .18s ease;}
.spa-md.on{opacity:1;}
.spa-md-box{--c:#FFB347;--cb:rgba(255,179,71,.18);width:100%;max-width:420px;padding:26px 24px 20px;border-radius:24px;text-align:center;color:var(--sp-text,#E9EEF4);
  background:linear-gradient(180deg,#261A21,#191317 55%);border:1px solid var(--cb);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.03),0 0 60px var(--cb);
  transform:translateY(12px) scale(.97);transition:transform .2s ease;}
.spa-md.on .spa-md-box{transform:none;}
.spa-md-bad{--c:#FF5C7A;--cb:rgba(255,92,122,.35);}
.spa-md-ok{--c:#3DDC84;--cb:rgba(61,220,132,.32);}
.spa-md-rose{--c:#FF7AA8;--cb:rgba(255,122,168,.38);}
.spa-md-mute{--c:#A3AEBA;--cb:rgba(163,174,186,.28);}
.spa-md-ic{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;display:flex;align-items:center;justify-content:center;color:var(--c);background:var(--cb);box-shadow:0 0 0 1px var(--cb),0 10px 26px var(--cb);}
.spa-md-t{font-size:19px;font-weight:900;margin-bottom:14px;}
.spa-md-p{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);margin-bottom:12px;}
.spa-md-p img,.spa-md-p > span{width:42px;height:42px;border-radius:12px;object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(255,122,168,.12);color:#FF7AA8;}
.spa-md-p b{display:block;font-size:14.5px;font-weight:900;}
.spa-md-p i{display:block;font-style:normal;font-size:12.5px;font-weight:700;color:#FF7AA8;}
.spa-md-d{font-size:13px;line-height:1.7;color:var(--sp-sub,#B8A9B2);margin-bottom:12px;word-break:keep-all;}
.spa-md-r{text-align:left;font-size:13px;line-height:1.6;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.25);border:1px dashed rgba(255,255,255,.1);margin-bottom:18px;word-break:break-all;}
.spa-md-r small{display:block;font-size:11px;font-weight:800;color:var(--sp-dim,#85737E);margin-bottom:3px;}
.spa-md-r.none{color:#C9A36B;font-size:12px;}
.spa-md-f{display:flex;gap:10px;}
.spa-md-f button{flex:1;height:46px;border-radius:13px;font-size:14.5px;font-weight:900;cursor:pointer;transition:transform .12s ease,filter .15s ease;}
.spa-md-f button:active{transform:scale(.97);}
.spa-md-no{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:var(--sp-sub,#B8A9B2);}
.spa-md-no:hover{background:rgba(255,255,255,.09);}
.spa-md-yes{border:0;color:#fff;background:var(--c);box-shadow:0 8px 22px var(--cb);}
.spa-md-ok .spa-md-yes{color:#06210F;}
.spa-md-rose .spa-md-yes{background:linear-gradient(135deg,#FF7AA8,#F43F7F);}
.spa-md-yes:hover{filter:brightness(1.08);}
.spa-md-yes:focus-visible,.spa-md-no:focus-visible{outline:2px solid var(--c);outline-offset:2px;}

/* 카드: 이름이 사진과 겹치지 않게 */
.sp-card-img::after{display:none;}
.sp-card-body{margin-top:0;padding:14px 16px 16px;}
@media (max-width:760px){ .sp-card-body{padding:12px 12px 12px;} }

/* 프로필 페이지: 받는 지갑 글자 밝게 */
.spp-wal > span{color:#E9EEF4 !important;font-weight:800;}

/* 후원 카드: 로즈 테두리 기본 + 마우스 올리면 테두리를 따라 빛이 흐름 */
@property --spAng{syntax:'<angle>';initial-value:0deg;inherits:false;}
.sp-card{border-color:var(--sp-rose-line);box-shadow:0 14px 36px rgba(244,63,127,.16);}
.sp-card:hover{box-shadow:0 18px 44px rgba(244,63,127,.26);}
.sp-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:5;
  background:conic-gradient(from var(--spAng),transparent 0deg,transparent 240deg,rgba(255,122,168,.25) 285deg,#FFD1E0 330deg,#FF7AA8 345deg,transparent 360deg);
  -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);
  opacity:0;transition:opacity .35s ease;}
.sp-card:hover::before{opacity:1;animation:spFlow 2.4s linear infinite;}
@keyframes spFlow{to{--spAng:360deg;}}
@media (prefers-reduced-motion:reduce){.sp-card:hover::before{animation:none;}}

/* 후원 카드 hover: 메인 후원 탭과 같은 느낌 (숨 쉬는 핑크 빛 + 흰 빛줄기) */
.sp-card::before{inset:auto;top:0;left:-60%;width:40%;height:100%;padding:0;border-radius:0;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);
  -webkit-mask:none;mask:none;transform:skewX(-20deg);opacity:0;animation:none;}
.sp-card:hover::before{opacity:1;animation:spShine 1.8s ease-in-out infinite;}
.sp-card:hover{border-color:#FF7AA8;animation:spGlow 2.4s ease-in-out infinite;}
@keyframes spShine{0%{left:-60%}60%,100%{left:130%}}
@keyframes spGlow{0%,100%{box-shadow:0 14px 36px rgba(244,63,127,.2),0 0 10px rgba(244,63,127,.3)}50%{box-shadow:0 18px 44px rgba(244,63,127,.3),0 0 28px rgba(244,63,127,.75)}}
@media (prefers-reduced-motion:reduce){.sp-card:hover,.sp-card:hover::before{animation:none;}}

/* 흐르는 빛줄기: 후원 로즈핑크 */
.sp-card::before{background:linear-gradient(100deg,transparent,rgba(255,122,168,.28) 35%,rgba(255,209,224,.5) 50%,rgba(255,122,168,.28) 65%,transparent);}

/* 프로필 코인 목록 정렬 탭 */
.spp-sort{display:flex;gap:4px;padding:4px;margin:0 0 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--sp-line);width:max-content;max-width:100%;}
.spp-sort button{height:28px;padding:0 12px;border-radius:999px;border:0;background:transparent;color:inherit;opacity:.7;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;}
.spp-sort button.on{opacity:1;color:#fff;background:linear-gradient(135deg,#FF7AA8,#F43F7F);box-shadow:0 4px 12px rgba(244,63,127,.3);}

/* 프로필 코인 줄: X 공유 버튼 */
.spp-xs{flex-shrink:0;width:30px;height:30px;margin-left:6px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid var(--sp-line);color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;}
.spp-xs:hover{background:#000;color:#fff;border-color:#FF7AA8;}
