/*
Theme Name: GyaruKawaii
Theme URI: https://example.com/gyaru-kawaii
Author: 코딩하는 갸루걸
Description: 진핑크 + 글리터 감성의 3단 갸루 카와이 클래식 테마. 방명록/방문자 카운터/기분/달력/BGM/제휴 위젯과 함께 쓰세요.
Version: 1.4.0
License: GNU General Public License v2 or later
Text Domain: gyaru-kawaii
*/

/* ---- fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&family=Jua&display=swap');

/* ---- resets ---- */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body{
  font-family:'Noto Sans KR',sans-serif;
  color:#4a2b3a;
  background:
    repeating-linear-gradient(0deg, rgba(201,163,184,.15) 0 14px, transparent 14px 28px),
    repeating-linear-gradient(90deg, rgba(201,163,184,.15) 0 14px, transparent 14px 28px),
    #f9f5f7;
  padding:26px 12px 60px;
  position:relative;
  overflow-x:hidden;
}
a{ color:#6b4a5a; text-decoration:none; }
a:hover{ color:#4a2b3a; background:#f0f0f0; }
::selection{ background:#c9a3b8; color:#fff; }
img{ max-width:100%; height:auto; }

/* ---- keyframes ---- */
@keyframes gk-twinkle{0%,100%{opacity:.15;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}
@keyframes gk-eq{0%,100%{height:4px}50%{height:16px}}
@keyframes gk-floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes gk-trailfade{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.2) translateY(-14px)}}

/* ---- sparkle bg ---- */
#gk-sparkles{ position:fixed; inset:0; pointer-events:none; z-index:1; }
#gk-sparkles span{ position:absolute; color:#fff; text-shadow:0 0 8px #ff2e8b,0 0 3px #fff; animation:gk-twinkle 2.4s ease-in-out infinite; }
#gk-cursor-trail{ position:fixed; inset:0; pointer-events:none; z-index:9999; }
#gk-cursor-trail span{ position:absolute; color:#ff2e8b; text-shadow:0 0 6px #ff8fcb; animation:gk-trailfade .8s ease-out forwards; }

/* ---- layout shell ---- */
.gk-shell{
  max-width:1300px; margin:0 auto; background:#fff;
  border:4px solid #F476B8; outline:3px dotted #fff; outline-offset:-9px;
  border-radius:18px;
  box-shadow:0 0 0 6px rgba(255,255,255,.6),0 10px 30px rgba(244,118,184,.35);
  overflow:hidden; position:relative; z-index:2;
}

/* ---- header ---- */
.gk-header{ position:relative; min-height:300px; background:#ffe0f0; }
.gk-header-img{ width:100%; height:300px; object-fit:cover; display:block; }
.gk-header-text{ position:absolute; left:26px; top:22px; pointer-events:none; }
.gk-site-title{ margin:0; font-family:'Jua',sans-serif; font-size:62px; line-height:1; color:#fff0f8;
  -webkit-text-stroke:0.5px #ff2e8b; text-shadow:1px 1px 0 #FFB7DC,2px 2px 0 rgba(255,255,255,.7); animation:gk-floaty 3s ease-in-out infinite; }
.gk-site-title a{ color:inherit; text-decoration:none; background:none; }
.gk-tagline{ display:inline-block; margin-top:10px; background:rgba(255,255,255,.85); border-radius:999px; padding:2px 14px; font-size:19px; color:#b3005e; }

/* ---- ticker ---- */
.gk-ticker{ background:#f9f5f7; padding:4px 0; color:#ff2e8b; font-size:18px; }

/* ---- 3-col body ---- */
.gk-body{ display:flex; gap:14px; padding:14px; align-items:flex-start; background:#faf8f9; }
.gk-col-left{ width:200px; flex-shrink:0; display:flex; flex-direction:column; gap:14px; }
.gk-col-main{ flex:1; min-width:0; display:flex; flex-direction:column; gap:14px; }
.gk-col-right{ width:210px; flex-shrink:0; display:flex; flex-direction:column; gap:14px; }

/* ---- widget card ---- */
.gk-card{ border:3px solid #FFB7DC; border-radius:14px; background:#fff; overflow:hidden; }
.gk-col-right .gk-card{ border-color:#b9d6ff; }
.gk-card-title,.widget-title,.widgettitle{
  margin:0; background:repeating-linear-gradient(90deg,#FFB7DC 0 10px,#ffcfe6 10px 20px);
  font-family:'Jua',sans-serif; color:#fff; text-shadow:1px 1px 0 #ff6fb0; text-align:center; padding:5px; font-size:18px; font-weight:400;
}
.gk-col-right .gk-card-title,.gk-col-right .widget-title,.gk-col-right .widgettitle{
  background:repeating-linear-gradient(90deg,#a8c9f5 0 10px,#cfe4ff 10px 20px); text-shadow:1px 1px 0 #6f9bd6;
}
.gk-card-body{ padding:12px; }
.gk-card ul{ list-style:none; margin:0; padding:10px 14px; }
.gk-card li{ font-size:19px; padding:2px 0; }

/* ---- posts ---- */
.gk-post{ border:3px solid #ffb7dc; border-radius:14px; background:#fff; overflow:hidden; }
.gk-post-head{ padding:12px 18px 4px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.gk-cat{ background:#ffe0f0; border-radius:999px; padding:1px 12px; font-size:16px; color:#000; text-decoration:none; }
.gk-post-title{ margin:0; font-family:'Jua',sans-serif; font-size:24px; }
.gk-post-title a{ text-decoration:none; color:#1a1a1a; background:none; }
.gk-post-excerpt{ padding:4px 18px 12px; font-size:19px; color:#000; line-height:1.5; }
.gk-post-meta{ padding:6px 18px 12px; display:flex; gap:16px; font-size:16px; color:#000; }
.gk-post-content{ padding:4px 18px 16px; font-size:19px; line-height:1.6; }
.gk-welcome-band{ background:repeating-linear-gradient(45deg,#cfe4ff 0 12px,#eaf3ff 12px 24px); padding:8px 14px; text-align:center; }
.gk-welcome-band span{ background:#fff; border-radius:999px; padding:2px 22px; font-family:'Jua',sans-serif; font-size:22px; color:#000; }

/* ---- footer ---- */
.gk-footer{ background:repeating-linear-gradient(45deg,#ffe0f0 0 10px,#fff 10px 20px); text-align:center; padding:12px; font-size:17px; color:#F476B8; }

/* ---- nav ---- */
.gk-nav ul{ padding:10px 14px; display:flex; flex-direction:column; gap:4px; }
.gk-nav a{ font-size:19px; text-decoration:none; }

/* ---- comments ---- */
.gk-comments{ border:3px solid #ffb7dc; border-radius:14px; background:#fff; padding:14px 18px; margin-top:14px; }
.gk-comments h3{ font-family:'Jua',sans-serif; color:#F476B8; }
.gk-comments .comment-list{ list-style:none; padding:0; }
.gk-comments textarea,.gk-comments input[type=text],.gk-comments input[type=email]{
  font-family:'Noto Sans KR',sans-serif; border:2px solid #F476B8; border-radius:8px; padding:6px 10px; font-size:18px; width:100%; }
.gk-btn{ font-family:'Noto Sans KR',sans-serif; border:2px solid #F476B8; background:#F476B8; color:#fff; border-radius:8px; font-size:18px; cursor:pointer; padding:6px 16px; }
.gk-btn:hover{ background:#d6116e; }

/* ---- responsive ---- */
@media(max-width:820px){
  .gk-body{ flex-direction:column; }
  .gk-col-left,.gk-col-right{ width:100%; flex-direction:row; flex-wrap:wrap; }
  .gk-col-left .gk-card,.gk-col-right .gk-card{ flex:1 1 240px; }
  .gk-site-title{ font-size:40px; }
}

/* ---- profile / calendar / todo (시안) ---- */
.gk-profile{ display:flex; flex-direction:column; align-items:center; gap:8px; }
.gk-profile-avatar{ width:110px; height:110px; border-radius:50%; object-fit:cover; display:block; }
.gk-profile-empty{ background:#ffe6f3; display:grid; place-items:center; font-size:34px; }
.gk-profile-text{ font-size:19px; color:#4a2b3a; text-align:center; line-height:1.3; }
.gk-profile-text b{ color:#FD6EAD; }
.gk-cal{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; text-align:center; font-size:15px; }
.gk-cal-h{ color:#6b4a5a; }
.gk-cal-c{ padding:2px 0; border-radius:6px; color:#4a2b3a; }
.gk-cal-sun{ color:#F476B8; }
.gk-cal-sat{ color:#6f9bd6; }
.gk-cal-today{ background:#F476B8; color:#fff !important; font-weight:700; }
.gk-todo{ display:flex; flex-direction:column; gap:5px; font-size:18px; color:#4a2b3a; }
.gk-todo-done{ text-decoration:line-through; color:#c9a3b8; }

/* ---- welcome (시안) ---- */
.gk-welcome-card{ border-color:#d0b8c3 !important; }
.gk-welcome-card .gk-post-content b{ color:#F476B8; }
.gk-notice{ margin-top:12px; border-radius:10px; background:#fff6fb; padding:10px 14px; font-size:18px; }
.gk-notice b{ color:#F476B8; }
