/* 코스모테스트 메인 (ko/en/ja 공용) — 낙서 고양이 테마. 세 로케일이 같은 파일을 쓰므로 디자인이 항상 같다. */
:root{
  --paper:#fbf9f4;--ink:#262523;--muted:#8b867d;--line:#2a2927;--soft:#57534c;
  --beam:#f5a55f;--leaf:#a9d86b;--pink:#f3a3b5;--sky:#a9d6f2;--lav:#dccff5;--sun:#ffe08a;
  --wob:255px 12px 225px 10px/10px 225px 12px 255px;--wob2:12px 225px 10px 255px/225px 10px 255px 12px;
  --hand:'Gaegu','Yomogi',sans-serif;
  --sans:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Hiragino Sans','Noto Sans KR',sans-serif;
  /* 기존 인라인 스타일이 참조하는 변수 호환 */
  --text:var(--ink);--accent:#d9873e;--accent2:#d9873e;--border:rgba(42,41,39,.18);--surface:#fff;--surface2:#f3efe6;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;letter-spacing:-.01em;overflow-x:hidden;min-height:100vh;
  background-image:radial-gradient(rgba(0,0,0,.028) .6px,transparent .6px);background-size:4px 4px}
a{color:inherit}
:focus-visible{outline:1.5px dashed var(--beam);outline-offset:3px}
.cd-wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* 헤더 */
.cd-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 4px}
.cd-logo{display:flex;align-items:center;gap:4px;font-family:var(--hand);font-size:21px;font-weight:700;letter-spacing:-.3px;text-decoration:none;color:var(--ink)}
.cd-logo .icon{width:28px;height:28px}
.cd-nav{display:flex;gap:18px;font-size:13px;align-items:center;color:#4a4742}
.cd-nav a{text-decoration:none}
.cd-nav a:hover{color:var(--ink);text-decoration:underline wavy var(--beam) 1px;text-underline-offset:4px}
.lang-switch{display:flex;gap:2px;align-items:center}
.lang-btn{font-family:var(--sans);font-size:12px;color:var(--muted);text-decoration:none;background:none;border:none;padding:2px 5px;cursor:pointer;border-radius:var(--wob2)}
.lang-btn:hover{color:var(--ink)}
.lang-btn.active{color:var(--ink);font-weight:600;border:1.2px solid var(--line);background:#fff}
@media (max-width:640px){.cd-nav .cd-hide-m{display:none}}

/* 히어로 */
.cd-hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8px;padding:30px 0 6px}
.cd-kicker{display:inline-block;font-size:12px;border:1.3px solid var(--line);border-radius:var(--wob);padding:2px 10px;background:#fff;transform:rotate(-1deg);color:#4a4742}
.cd-hero h1{font-family:var(--hand);font-size:44px;line-height:1.08;font-weight:700;margin:14px 0 10px;letter-spacing:-.5px}
.cd-mark{background:linear-gradient(transparent 60%,rgba(169,216,107,.75) 60%,rgba(169,216,107,.75) 88%,transparent 88%);padding:0 3px}
.cd-hero p{font-size:14.5px;color:var(--soft);max-width:380px}
.cd-cta{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.cd-btn{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--sans);font-weight:600;font-size:13.5px;padding:8px 16px 9px;border:1.5px solid var(--line);border-radius:var(--wob);background:#fff;color:var(--ink);transition:transform .12s}
.cd-btn.primary{background:var(--beam);transform:rotate(-.6deg)}
.cd-btn:hover{transform:rotate(0) translateY(-1px)}
.cd-btn:active{transform:scale(.97)}
.cd-scene{position:relative;height:310px}
.cd-scene .cd-ufo{position:absolute;left:50%;top:0;width:170px;transform:translateX(-50%)}
.cd-beam{position:absolute;left:50%;top:64px;width:210px;height:222px;transform:translateX(-50%);clip-path:polygon(33% 0,67% 0,100% 100%,0 100%);background:var(--beam);opacity:.8}
.cd-floater{position:absolute;left:50%;top:138px;width:128px;transform:translateX(-50%);animation:cdFloat 3.2s ease-in-out infinite;cursor:pointer}
@keyframes cdFloat{0%,100%{transform:translateX(-50%) translateY(0) rotate(-6deg)}50%{transform:translateX(-50%) translateY(-10px) rotate(4deg)}}
.cd-bubble{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance;position:absolute;left:calc(50% + 72px);top:118px;max-width:150px;background:#fff;border:1.5px solid var(--line);border-radius:var(--wob);padding:7px 11px 8px;font-family:var(--hand);font-size:16px;font-weight:700;line-height:1.3}
.cd-bubble:empty{display:none}
.cd-bubble.pop{animation:cdPop .42s cubic-bezier(.3,1.6,.5,1)}
@keyframes cdPop{0%{transform:scale(.6) rotate(-5deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
.cd-ground{position:absolute;left:14%;right:14%;bottom:18px;border-top:1.5px solid var(--line);border-radius:50%}
@media (max-width:820px){
  .cd-hero{grid-template-columns:1fr;padding-top:10px}
  .cd-hero h1{font-size:36px}
  .cd-scene{height:300px;order:-1}
  .cd-beam{height:214px}
  .cd-bubble{left:calc(50% + 58px);top:150px;max-width:118px;font-size:15px}
}

/* 섹션 공통 */
.cd-sec{padding:34px 0 4px}
.cd-h2{font-family:var(--hand);font-size:23px;font-weight:700;letter-spacing:-.3px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cd-h2 small{font-family:var(--sans);font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}

/* 요즘 인기 */
.cd-ranks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;min-height:62px}
.cd-rank{position:relative;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:var(--wob);padding:10px 12px 10px 10px;text-decoration:none;color:var(--ink);transition:transform .15s}
.cd-rank:nth-child(1){transform:rotate(-.7deg)}.cd-rank:nth-child(2){transform:rotate(.5deg)}.cd-rank:nth-child(3){transform:rotate(-.3deg)}
.cd-rank:hover{transform:rotate(0) translateY(-2px)}
.cd-no{font-family:var(--hand);font-size:30px;font-weight:700;line-height:1;width:22px;text-align:center;flex:none}
.cd-ic .icon{width:38px;height:38px;display:block}
.cd-rt{display:flex;flex-direction:column;min-width:0}
.cd-t{font-size:14px;font-weight:600;line-height:1.3}
.cd-m{font-size:12px;color:var(--muted)}
.cd-crown{position:absolute;top:-10px;left:6px;font-family:var(--hand);font-size:12px;font-weight:700;background:var(--sun);border:1.3px solid var(--line);border-radius:var(--wob2);padding:0 6px;transform:rotate(-6deg);line-height:1.5}
@media (max-width:820px){.cd-ranks{grid-template-columns:1fr}}

/* 진단 시리즈 */
.cd-series{margin-top:10px;border:1.5px solid var(--line);border-radius:18px 14px 20px 12px/14px 20px 12px 18px;background:var(--lav);padding:14px;display:grid;grid-template-columns:1fr 2.2fr;gap:12px;align-items:center}
.cd-series .cd-lead{font-family:var(--hand);font-size:20px;font-weight:700;line-height:1.2}
.cd-series .cd-lead span{display:block;font-family:var(--sans);font-size:12px;font-weight:400;margin-top:5px;color:#4a4742}
.cd-srow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cd-smini{background:#fff;border:1.3px solid var(--line);border-radius:var(--wob);padding:9px 6px 8px;text-align:center;font-size:12.5px;font-weight:600;line-height:1.3;text-decoration:none;color:var(--ink);transition:transform .12s}
.cd-smini:hover{transform:translateY(-2px) rotate(-.8deg)}
.cd-smini .icon{width:32px;height:32px;display:block;margin:0 auto 3px}
@media (max-width:820px){.cd-series{grid-template-columns:1fr}.cd-srow{grid-template-columns:repeat(2,1fr)}}

/* 필터 · 카테고리 모음 링크 */
.filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:10px 0 8px;padding:0}
.filter-btn{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--sans);font-size:12.5px;padding:3px 11px 4px;border:1.3px solid var(--line);border-radius:var(--wob2);background:#fff;color:#4a4742}
.filter-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cd-catlinks{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:0 0 14px}
.cd-catlinks a{font-size:12px;color:var(--soft);text-decoration:none;border-bottom:1px dashed #b9b3a8;padding:1px 2px;margin-right:6px}
.cd-catlinks a:hover{color:var(--ink);border-bottom-color:var(--beam)}
.adfit-box{text-align:center;margin:0 auto 18px;max-width:320px}

/* 카드 그리드 (기존 .card 마크업 그대로) */
#cardGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:0}
#cardGrid .card{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:var(--wob);padding:9px 9px 10px;display:flex!important;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);cursor:pointer;transition:transform .15s;overflow:visible}
#cardGrid .card[style*="display: none"],#cardGrid .card[style*="display:none"]{display:none!important}
#cardGrid .card:nth-child(5n+1){transform:rotate(-.6deg)}#cardGrid .card:nth-child(5n+2){transform:rotate(.4deg)}#cardGrid .card:nth-child(5n+3){transform:rotate(-.3deg)}#cardGrid .card:nth-child(5n+4){transform:rotate(.6deg)}
#cardGrid .card:hover{transform:rotate(0) translateY(-3px)}
#cardGrid .card.pick{animation:cdWiggle .5s ease-in-out 3;background:#fff7ec}
@keyframes cdWiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-2.5deg)}75%{transform:rotate(2.5deg)}}
#cardGrid .card-thumb{aspect-ratio:4/3;width:100%;height:auto;border-radius:var(--wob2);display:grid;place-items:center;border:1.2px solid var(--line);background:#f3efe6;font-size:0;overflow:hidden}
#cardGrid .card-thumb .icon{width:46%;height:auto}
#cardGrid .card-body{display:flex;flex-direction:column;gap:3px;padding:0 2px;flex:1}
#cardGrid .card-tag{order:3;align-self:flex-start;font-size:10.5px;border:1px solid #b9b3a8;border-radius:var(--wob2);padding:0 6px;color:#6d685f!important;background:none!important;margin-top:auto}
#cardGrid .card h3{font-family:var(--sans);font-size:13.5px;font-weight:600;line-height:1.35;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.35em * 2)}
#cardGrid .card p{display:none}
#cardGrid .card-meta{order:2;font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}
#cardGrid .card-play{display:none}
#cardGrid .ko-only-badge,#cardGrid .card-badge{position:absolute;top:-8px;right:8px;z-index:2;font-size:10.5px;font-family:var(--sans);background:var(--sun);border:1.2px solid var(--line);border-radius:var(--wob2);padding:0 6px;color:var(--ink)}
@media (max-width:980px){#cardGrid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:720px){#cardGrid{grid-template-columns:repeat(2,1fr);gap:10px}}

/* 소개 · 전체 목록 (SEO 텍스트) */
.about-cosmotest{max-width:720px!important;margin:48px auto 16px!important;padding:0 20px!important}
.about-cosmotest h2{font-family:var(--hand)!important;font-size:18px!important;color:var(--ink)!important;font-weight:700!important;margin-bottom:6px!important}
.about-cosmotest p{font-size:13px!important;color:var(--soft)!important;line-height:1.75!important}
.ssg-test-list h2{font-family:var(--hand)!important;font-size:16px!important;color:var(--ink)!important}
.ssg-test-list a{font-size:12px!important;color:var(--soft)!important}

/* 카테고리 페이지 상단 */
.cd-cat-hero{position:relative;display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;padding:58px 0 20px}
.cd-cat-peek{width:130px;cursor:pointer;transform:rotate(-4deg)}
.cd-cat-hero h1{font-family:var(--hand);font-size:34px;line-height:1.12;font-weight:700;margin:10px 0 6px;letter-spacing:-.4px}
.cd-cat-hero h1 span{background:linear-gradient(transparent 60%,rgba(169,216,107,.75) 60%,rgba(169,216,107,.75) 88%,transparent 88%);padding:0 3px;color:inherit}
.cd-cat-hero p{font-size:13.5px;color:var(--soft);max-width:520px}
.cd-cat-hero .cd-bubble{left:96px;top:8px;max-width:none;white-space:nowrap}
@media (max-width:640px){.cd-cat-hero{grid-template-columns:96px 1fr;gap:12px;padding-top:62px}.cd-cat-peek{width:96px}.cd-cat-hero h1{font-size:27px}.cd-cat-hero .cd-bubble{left:62px;top:10px;font-size:14px;white-space:normal;max-width:calc(100% - 70px)}}
.category-intro{max-width:720px!important;margin:40px auto 16px!important;padding:0 2px!important;border-top:1.5px dashed #c9c3b8!important}
.category-intro h2{font-family:var(--hand)!important;font-size:18px!important;color:var(--ink)!important;font-weight:700!important;margin:18px 0 6px!important}
.category-intro p{font-size:13px!important;color:var(--soft)!important;line-height:1.75!important}

/* 푸터 */
.cd-footer{margin-top:44px;border-top:1.5px solid var(--line);padding:16px 0 36px}
.cd-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cd-sleep{width:96px}
.cd-foot-links{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--soft)}
.cd-foot-links a{text-decoration:none}
.cd-foot-links a:hover{text-decoration:underline}
.cd-foot small{display:block;color:var(--muted);font-size:11px;margin-top:5px}

/* 낙서 선 */
.d-ink{fill:none;stroke:var(--ink);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.d-fill{fill:var(--ink)}
.d-blush{fill:none;stroke:var(--pink);stroke-width:2.6;stroke-linecap:round}
.d-accent{fill:none;stroke:var(--beam);stroke-width:2.6;stroke-linecap:round}
.cat.talking{animation:cdBob .2s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes cdBob{from{transform:translateY(0)}to{transform:translateY(-3px) rotate(-1.5deg)}}
@media (prefers-reduced-motion:reduce){.cd-floater,.cat.talking,.cd-bubble.pop,#cardGrid .card.pick{animation:none}}
