html{color-scheme:light}
:root{
  --bg:#fdfbfd;--card:#ffffff;--text:#231f26;--sub:#847b8a;
  --accent:#f261a8;--accent2:#9d7bf5;--accent3:#6ecfc3;--accent-dark:#d94590;--line:rgba(40,20,50,.07);
  --good:#1a7f37;--result-bg:#fdf1f8;--result-line:#f5d3e7;--input-bg:#faf8fb;
  --rainbow:linear-gradient(90deg,#ff5ea8,#b07bf5 35%,#6fb1ff 70%,#4fd4c0);
  --rainbow-btn:linear-gradient(135deg,#ff5ea8,#9d7bf5 55%,#6fb1ff);
  --shadow:0 2px 6px rgba(60,30,70,.05),0 12px 32px rgba(60,30,70,.07);
  --radius:22px;
}
body::before{
  content:'';position:fixed;top:0;left:0;right:0;height:5px;z-index:100;
  background:var(--rainbow);
}

*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Noto Sans KR",sans-serif;
  background:linear-gradient(165deg,#fff0f7 0%,#f5efff 32%,#ecf5ff 62%,#eafaf3 100%) fixed;
  color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;
}

.wrap{max-width:760px;margin:0 auto;padding:0 22px 90px}
/* 헤더 */
header.site{
  position:sticky;top:0;z-index:50;padding:13px 0;
  background:color-mix(in srgb, var(--card) 55%, transparent);
  backdrop-filter:blur(22px) saturate(1.7);-webkit-backdrop-filter:blur(22px) saturate(1.7);
  border-bottom:1px solid var(--line);
}
header.site .wrap{padding:0 22px;display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:800;font-size:17.5px;letter-spacing:-.4px;text-decoration:none;color:var(--text);display:flex;align-items:center;gap:8px}
.logo .paw{width:29px;height:29px;border-radius:9px;background:var(--rainbow-btn);display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 4px 10px rgba(242,97,168,.32)}
.logo span.brand{background:var(--rainbow);-webkit-background-clip:text;background-clip:text;color:transparent}
nav.top{display:flex;gap:2px}
nav.top a{font-size:13px;font-weight:600;color:var(--sub);text-decoration:none;padding:7px 11px;border-radius:999px;transition:.15s}
nav.top a:hover{color:var(--text);background:var(--line)}
/* 타이틀 */
h1{font-size:clamp(26px,5vw,32px);letter-spacing:-.8px;font-weight:800;margin:46px 0 10px;line-height:1.25}
.lead{color:var(--sub);font-size:16px;margin-bottom:26px}
/* 카드 & 폼 */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:22px;box-shadow:var(--shadow)}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:700;color:var(--sub);margin-bottom:7px}
.field input,.field select{
  width:100%;padding:13px 14px;font-size:16px;border:1.5px solid var(--line);border-radius:13px;
  background:var(--input-bg);color:var(--text);outline:none;transition:border .15s,background .15s;
  -webkit-appearance:none;appearance:none;
}
.field input:focus,.field select:focus{border-color:var(--accent);background:var(--card)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.row{grid-template-columns:1fr}}
.check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);margin-bottom:16px}
.check input{width:18px;height:18px;accent-color:var(--accent)}
button.calc{
  width:100%;padding:15px;font-size:16px;font-weight:700;color:#fff;letter-spacing:-.2px;
  background:var(--rainbow-btn);background-size:150% 150%;
  border:none;border-radius:14px;cursor:pointer;transition:transform .15s,box-shadow .15s,background-position .3s;
  box-shadow:0 6px 16px rgba(177,123,245,.32);
}
button.calc:hover{background-position:100% 50%}
button.calc:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(242,97,168,.38)}
button.calc:active{transform:translateY(0)}
/* 결과 */
.result{display:none;margin-top:20px;padding:22px;background:var(--result-bg);border-radius:16px}
.result.show{display:block;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.result .big{font-size:29px;font-weight:800;letter-spacing:-.6px;background:var(--rainbow);-webkit-background-clip:text;background-clip:text;color:transparent}
.result table{width:100%;margin-top:14px;border-collapse:collapse;font-size:14px}
.result td{padding:8px 0;border-bottom:1px solid var(--result-line)}
.result td:last-child{text-align:right;font-weight:700}
.result tr:last-child td{border-bottom:none}
/* 본문 */
section.info{margin-top:38px}
section.info h2{font-size:19px;letter-spacing:-.4px;font-weight:800;margin:30px 0 10px}
section.info p{font-size:15px;color:var(--text);opacity:.85;margin-bottom:12px}
section.info ul{padding-left:20px;font-size:15px;color:var(--text);opacity:.85;margin-bottom:12px}
section.info li{margin-bottom:6px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:16px 20px;margin-bottom:10px}
.faq summary{font-weight:700;font-size:15px;cursor:pointer}
.faq p{margin-top:10px;font-size:14px;color:var(--sub)}
.disclaimer{font-size:12.5px;color:var(--sub);opacity:.8;margin-top:34px;padding-top:18px;border-top:1px solid var(--line)}
.ad-slot{min-height:100px;margin:26px 0;display:flex;align-items:center;justify-content:center;color:var(--sub);opacity:.5;font-size:12px;background:var(--card);border:1px dashed var(--line);border-radius:14px}
/* 인덱스: 히어로 (파스텔 오로라) */
.hero{position:relative;padding:64px 0 26px;text-align:center;overflow:hidden}
.hero::before{
  content:'';position:absolute;inset:-60px -80px;z-index:-1;filter:blur(52px);opacity:.85;
  background:
    radial-gradient(42% 46% at 15% 30%, #ffd0ea 0%, transparent 70%),
    radial-gradient(38% 42% at 50% 12%, #e2d5ff 0%, transparent 70%),
    radial-gradient(36% 40% at 85% 28%, #cfe4ff 0%, transparent 70%),
    radial-gradient(34% 38% at 72% 80%, #ccf3ea 0%, transparent 70%),
    radial-gradient(32% 36% at 25% 84%, #ffe9d2 0%, transparent 70%);
  animation:aurora 12s ease-in-out infinite alternate;
}

@keyframes aurora{from{transform:translateY(0) scale(1)}to{transform:translateY(14px) scale(1.06)}}
.hero .badge{
  display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--accent);
  background:color-mix(in srgb, var(--accent) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  padding:6px 14px;border-radius:999px;margin-bottom:20px;letter-spacing:-.2px;
}
.hero h1{font-size:clamp(30px,6vw,44px);margin:0;letter-spacing:-1.2px}
.hero h1 em{font-style:normal;background:var(--rainbow);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--sub);font-size:16.5px;margin:16px auto 0;max-width:460px}
.paws{position:absolute;inset:0;pointer-events:none}
.paws span{position:absolute;font-size:21px;opacity:.22;animation:float 7s ease-in-out infinite}
.paws span:nth-child(1){left:5%;top:22%}
.paws span:nth-child(2){right:8%;top:14%;animation-delay:1.2s;font-size:16px}
.paws span:nth-child(3){left:15%;bottom:8%;animation-delay:2.4s;font-size:14px}
.paws span:nth-child(4){right:17%;bottom:16%;animation-delay:3.1s}
@keyframes float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-12px) rotate(8deg)}}
/* 인덱스: 인기 스트립 */
.hot{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:30px 0 6px}
.hot a{
  display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;text-decoration:none;color:var(--text);
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 16px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);transition:.18s;
}
.hot a:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--accent) 40%, transparent);box-shadow:0 6px 16px rgba(242,97,168,.15)}
.hot .fire{color:var(--accent)}
/* 인덱스: 도구 그리드 */
.sec-title{font-size:13px;font-weight:800;color:var(--sub);letter-spacing:.06em;margin:48px 0 14px}
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
@media(max-width:700px){.tools{grid-template-columns:repeat(2,1fr)}}
@media(max-width:470px){.tools{grid-template-columns:1fr}}
.tool{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px 20px;
  text-decoration:none;color:var(--text);box-shadow:var(--shadow);
  transition:transform .2s cubic-bezier(.2,.7,.3,1.2),box-shadow .2s;
  animation:rise .5s ease backwards;position:relative;overflow:hidden;
}
.tool::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--rainbow);opacity:0;transition:opacity .2s}
.tool:hover::before{opacity:1}
/* 카드마다 파스텔 무지개 순환 틴트 */
.tools .tool:nth-child(6n+1){background:linear-gradient(150deg,var(--card),color-mix(in srgb,#ff5ea8 9%,var(--card)))}
.tools .tool:nth-child(6n+2){background:linear-gradient(150deg,var(--card),color-mix(in srgb,#b07bf5 9%,var(--card)))}
.tools .tool:nth-child(6n+3){background:linear-gradient(150deg,var(--card),color-mix(in srgb,#6fb1ff 10%,var(--card)))}
.tools .tool:nth-child(6n+4){background:linear-gradient(150deg,var(--card),color-mix(in srgb,#4fd4c0 10%,var(--card)))}
.tools .tool:nth-child(6n+5){background:linear-gradient(150deg,var(--card),color-mix(in srgb,#ffb054 9%,var(--card)))}
.tools .tool:nth-child(6n+6){background:linear-gradient(150deg,var(--card),color-mix(in srgb,#ff7d94 9%,var(--card)))}
.tool:nth-child(1){animation-delay:.03s}.tool:nth-child(2){animation-delay:.07s}.tool:nth-child(3){animation-delay:.11s}
.tool:nth-child(4){animation-delay:.15s}.tool:nth-child(5){animation-delay:.19s}.tool:nth-child(6){animation-delay:.23s}
.tool:nth-child(7){animation-delay:.27s}.tool:nth-child(8){animation-delay:.31s}.tool:nth-child(9){animation-delay:.35s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.tool:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 8px 20px rgba(60,30,70,.08),0 22px 48px rgba(60,30,70,.1)}
.tool .icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:13px}
.ic1{background:#ffe8dc}.ic2{background:#e3f0ff}.ic3{background:#fff3d6}.ic4{background:#e6f7ea}
.ic5{background:#f3e8ff}.ic6{background:#ffe3ec}.ic7{background:#f0e9df}.ic8{background:#dff4f7}.ic9{background:#ffeede}

.tool .t{font-weight:800;font-size:15.5px;letter-spacing:-.3px}
.tool .d{font-size:13px;color:var(--sub);margin-top:5px;line-height:1.5}
.tool .go{display:inline-block;margin-top:11px;font-size:12.5px;font-weight:700;color:var(--accent)}
/* 신뢰 배너 */
.trust{
  margin-top:52px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%, var(--card)),var(--card));
  border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;gap:20px;align-items:center;box-shadow:var(--shadow);
}
.trust .emoji{font-size:38px}
.trust b{font-size:16px;letter-spacing:-.3px}
.trust p{font-size:14px;color:var(--sub);margin-top:4px}
@media(max-width:560px){.trust{flex-direction:column;text-align:center}}
footer.site{margin-top:64px;padding-top:24px;border-top:1px solid var(--line);font-size:12.5px;color:var(--sub);text-align:center}
footer.site a{color:var(--sub);text-decoration:none}
