/* 플레이픽 공통 테마: 메인(포털) 디자인 "팝 놀이터"에 맞춰 전 페이지 통일 */
@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Noto+Sans+KR:wght@400;500;700;800&display=swap');
:root{
  --bg:#FFF6EC; --card:#FFFFFF; --ink:#1F1A2E; --ink-soft:#4A4560; --ink-faint:#6B6580;
  --line:#E6DACB; --accent:#FF5A3C; --accent-dark:#C23217; --accent-pale:#FFE4DB;
  --lime:#C9F24B; --lime-ink:#2F4000; --radius:16px;
}
body{ font-family:'Noto Sans KR','Pretendard',-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif; background:var(--bg); color:var(--ink); }
h1, .g-title, .result-name{ font-family:'Black Han Sans','Noto Sans KR',sans-serif; font-weight:400; letter-spacing:0; }
h1{ font-size:32px; line-height:1.25; }

/* 배경: 은은한 블러 대신 포털과 같은 단색 원 */
.bg-blob{ filter:none; opacity:1; position:fixed; }
.bg-blob.b1{ width:240px; height:240px; background:#C9F24B; right:-80px; left:auto; top:-70px; }
.bg-blob.b2{ width:200px; height:200px; background:#DAD8FF; left:-100px; top:260px; bottom:auto; right:auto; }
.bg-blob.b3{ display:none; }

/* 카드, 버튼, 선택지: 진한 외곽선 + 오프셋 그림자 */
.app-card{ border:2px solid var(--ink); border-radius:28px; box-shadow:5px 5px 0 var(--ink); }
.agegate-card{ border:2px solid var(--ink); box-shadow:5px 5px 0 var(--ink); }
.home-btn{ background:#fff; border:1.5px solid var(--ink); color:var(--ink); }
.home-btn:hover{ background:var(--lime); border-color:var(--ink); color:var(--ink); }
.topbar .brand{ color:var(--ink-soft); }
.icon-chip{ border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); }
.icon-chip:nth-child(2){ opacity:1; }
.eyebrow{ background:#DAD8FF; color:#2E2570; border:1.5px solid var(--ink); }
.lede{ color:var(--ink-soft); }
.btn{ border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); transition:transform .1s ease, box-shadow .1s ease; }
.btn:hover{ transform:translate(-1px,-1px); box-shadow:4px 4px 0 var(--ink); }
.btn:active{ transform:translate(1px,1px); box-shadow:1px 1px 0 var(--ink); }
.btn-primary{ background:#D93A1C; color:#fff; }
.btn-primary:hover{ background:#C23217; }
.btn-ghost{ background:#fff; color:var(--ink); border:2px solid var(--ink); }
.btn-ghost:hover{ border-color:var(--ink); color:var(--ink); background:var(--lime); }
.btn-kakao{ background:#FEE500; color:#3C1E1E; }
.option-btn{ border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); }
.option-btn:hover{ background:var(--lime); border-color:var(--ink); transform:translate(-1px,-1px); box-shadow:4px 4px 0 var(--ink); }
.option-btn .opt-icon{ border:1.5px solid var(--ink); }
.progress-steps .step{ background:#E6DACB; }
.reason-card, .shared-note, .tag-chip, .ot-item, .rank-item{ border:1.5px solid var(--ink); }
.reason-card{ background:#fff; }
.ot-item:hover{ border-color:var(--ink); background:var(--lime); }
a.rank-item:hover{ border-color:var(--ink); background:var(--lime); }
.result-badge{ border:2px solid var(--ink); }
.result-name{ color:var(--accent-dark); font-size:34px; }

/* 허브 / 카드 */
.selector-card{ border:2px solid var(--ink); box-shadow:4px 4px 0 var(--ink); border-radius:22px; }
.selector-card.live:hover{ border-color:var(--ink); box-shadow:6px 6px 0 var(--ink); transform:translate(-2px,-2px); }
.selector-card .sc-icon{ border:1.5px solid var(--ink); }
.selector-card .sc-meta{ color:var(--ink-faint); }
.hub-search{ border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); }
.hub-search:focus{ border-color:var(--ink); outline:3px solid #DAD8FF; }
.cat-chip{ border:1.5px solid var(--ink); color:var(--ink); background:#fff; }
.cat-chip:hover{ background:var(--lime); border-color:var(--ink); color:var(--ink); }
.cat-chip.active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.age-pill{ border:2px solid var(--ink); }
.popular-card, .games-promo{ border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); }
.games-promo:hover{ border-color:var(--ink); background:var(--lime); }
.popular-item{ background:#FFF6EC; border:1.5px solid var(--ink); }
.about-test{ border:2px solid var(--ink); box-shadow:4px 4px 0 var(--ink); border-radius:22px; }
.about-test a, .hub-about a, .legal a{ color:var(--accent-dark); }
.site-footer, .site-footer a{ color:var(--ink-soft); }
.ad-slot{ border-color:#B5A99B; color:var(--ink-faint); }
.legal h1{ font-size:26px; }

/* 게임 */
.g-stat{ background:#FFF6EC; border:1.5px solid var(--ink); color:var(--ink-soft); }
.g-result .g-big{ font-family:'Black Han Sans','Noto Sans KR',sans-serif; font-weight:400; color:var(--accent-dark); }
.g-result .g-tier{ border:1.5px solid var(--ink); }
.rx-pad{ border:2px solid var(--ink); box-shadow:4px 4px 0 var(--ink); }
.nt-cell, .st-opt, .g-choice, .g-cell, .mm-card{ border:2px solid var(--ink); }
.nt-cell, .st-opt, .g-choice{ box-shadow:2px 2px 0 var(--ink); }
.g-cell{ background:#fff; } .g-cell.on{ background:var(--accent); } .g-cell.lit{ background:var(--lime); } .g-cell.wrong{ background:#E5484D; }
.mm-card{ background:var(--ink); } .mm-card.open, .mm-card.matched{ border-color:var(--ink); }
.nt-cell.done{ box-shadow:none; }
.g-field, .g-canvas, .g-dots-box, .t-ladder{ border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); }
.g-input{ border:2px solid var(--ink); }
.cps-btn{ border:3px solid var(--ink); box-shadow:5px 5px 0 var(--ink); }
.g-hole{ border:2px solid var(--ink); }
.g-bar{ border:2px solid var(--ink); background:#fff; }
.st-bar{ border:1.5px solid var(--ink); background:#fff; }
.g-dpad button{ border:2px solid var(--ink); }
