@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;600;700;800;900&display=swap');
body{margin:0;font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#eef3f5;color:#1f2933}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#0f2f3f;color:white;border:1px solid #0f2f3f;border-radius:15px;padding:13px 18px;font-weight:900}.topbar{height:64px;background:#083344;color:white;display:flex;align-items:center;gap:14px;padding:0 22px;position:sticky;top:0;z-index:10}.brand{font-size:22px}.topbar span{color:#bae6fd;font-size:13px}.top-btn,.icon-btn{background:#164e63;border:0;border-radius:12px;padding:8px 12px}.drawer{position:fixed;z-index:30;top:0;left:0;width:280px;height:100vh;background:#082f49;color:white;padding:24px;box-shadow:20px 0 60px #0005;overflow:auto}.drawer button{display:block;width:100%;margin:8px 0;background:#164e63;border:0;border-radius:14px;padding:13px;text-align:left}.drawer-close{text-align:center!important;font-size:28px}.hidden{display:none!important}.login{min-height:calc(100vh - 64px);display:grid;grid-template-columns:430px 1fr;gap:34px;align-items:center;padding:46px 7%;background:linear-gradient(120deg,#072534e6,#164e63bd)}.card,.plan,.adbox,.report,.post,.term,.closed,.point,.fish-card,.cctv-card,.note-card,.badge-card{background:white;border:1px solid #dbe3e8;border-radius:20px;box-shadow:0 18px 45px #02081712;padding:22px}.loginbox h1{font-size:42px;text-align:center;color:#0f2f3f}.loginbox p,.note{color:#64748b;line-height:1.65}.green{color:#0f766e!important;font-weight:800;text-align:center}.copy{color:white}.copy h2{font-size:54px;line-height:1.05}.copy p{color:#dbeafe}.link{display:block;margin:10px auto;border:0;background:transparent;color:#075985;font-weight:900}.code{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:18px}.wrap{padding:28px 7%}.wide{max-width:980px;margin:0 auto}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:flex;flex-direction:column;gap:8px;font-weight:800;color:#334155;margin-bottom:14px}input,select,textarea{border:1px solid #cbd5e1;border-radius:14px;padding:14px;background:white;width:100%}select[multiple]{min-height:120px}textarea{min-height:110px}.terms,.notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:18px}.page{display:none}.page.active{display:block}.hero{display:grid;grid-template-columns:1fr 430px;gap:24px;align-items:center;min-height:420px}.hero h1{font-size:58px;line-height:1.05;margin:8px 0}.eyebrow{font-weight:900;color:#0e7490;letter-spacing:.1em}.dashboard,.plans,.list,.termgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.list{grid-template-columns:repeat(2,1fr)}.score-big{font-size:42px;font-weight:900;color:#0f766e}.risk-low{color:#166534}.risk-mid{color:#92400e}.risk-high{color:#b91c1c}.report.locked{position:relative;overflow:hidden}.report.locked:after{content:'로그인 후 상세 확인 가능';position:absolute;inset:0;background:#f8fafcdd;display:flex;align-items:center;justify-content:center;font-weight:950}.score{float:right;background:#e0f2fe;color:#075985;border-radius:999px;padding:7px 10px;font-weight:900}.tag,.badge{display:inline-block;background:#eef6f8;color:#31505f;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;margin:4px}.hot-badge{background:#ef4444;color:white;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.pin-badge{background:#f59e0b;color:white;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.term-detail{display:none;border-top:1px solid #e5e7eb;margin-top:10px;padding-top:10px}.term.open .term-detail{display:block}.closed-table{display:flex;flex-direction:column;gap:10px;margin-top:18px}.closed-row{display:grid;grid-template-columns:150px 110px 1fr 120px 1fr;gap:12px;align-items:center;background:white;border:1px solid #dbe3e8;border-radius:16px;padding:14px}.community-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.write-card{max-width:760px;max-height:92vh;overflow:auto}.preview img,.post-photo{max-width:100%;border-radius:14px;border:1px solid #dbe3e8}.post{margin:10px 0}.post-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.replybox{background:#f8fafc;border-radius:14px;padding:12px;margin-top:10px}.reply{border-bottom:1px solid #e5e7eb;padding:8px}.post-actions button{margin:4px;border:1px solid #cbd5e1;border-radius:999px;background:white;color:#1f2933;padding:7px 10px}.overlay{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:99}.searchCard{background:white;border-radius:22px;padding:26px;max-width:760px;width:92%}.row{display:grid;grid-template-columns:150px 1fr;padding:10px;border-bottom:1px solid #e5e7eb}.adbox{margin-top:20px;border-style:dashed;background:#f8fafc}.costbox{background:#f8fafc;border-radius:14px;padding:14px;margin-top:10px}.rank-row{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #e5e7eb}@media(max-width:900px){.login,.hero,.grid,.dashboard,.plans,.list,.termgrid,.closed-row{grid-template-columns:1fr}.copy{display:none}.hero h1{font-size:42px}.wrap{padding:18px}.topbar span{display:none}.community-head{align-items:flex-start;flex-direction:column}}
/* v18 report/profile enhancements */
.report-controls{display:grid;grid-template-columns:220px 1fr;gap:10px;margin:14px 0}
.report-card .score-big{font-size:38px}
.report-meter{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:10px 0}
.report-meter span{display:block;height:100%;background:#0f766e}
.report-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.explain-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px}
.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.profile-stat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px}
.profile-stat b{font-size:28px;color:#0f766e}
.activity-row{border-bottom:1px solid #e5e7eb;padding:12px 0}
.activity-row:last-child{border-bottom:0}
@media(max-width:900px){.report-controls,.report-detail-grid,.profile-layout,.profile-stats{grid-template-columns:1fr}}

.author-name{font-weight:900;color:#0f2f3f}

/* notice only add-on */
.notice-strip{
  background:#fff;
  border:1px solid #dbe3e8;
  border-radius:22px;
  padding:18px;
  margin:14px 0 18px;
  box-shadow:0 18px 45px #02081710;
}
.notice-strip-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.notice-strip-head b{font-size:20px;color:#0f2f3f}
.notice-strip-head button{padding:8px 12px;border-radius:999px}
.notice-item{
  background:#fff;
  border:1px solid #dbe3e8;
  border-radius:18px;
  padding:18px;
  margin:12px 0;
  box-shadow:0 18px 45px #02081710;
}
.notice-item h3{margin:0 0 8px;color:#0f2f3f}
.notice-date{color:#64748b;font-size:13px;margin-top:10px}
.notice-empty{color:#64748b}

.profile-kv{display:flex;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #dbe3e8;border-radius:14px;padding:12px;margin:8px 0}
.profile-kv b{color:#0f2f3f}
.profile-kv span{text-align:right}

/* v20 notice comments */
.notice-body-text{
  white-space:normal;
  line-height:1.9;
  margin-top:14px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:14px;
}
.notice-comments{
  margin-top:18px;
  border-top:1px solid #e5e7eb;
  padding-top:14px;
}
.notice-comments h4{
  margin:0 0 10px;
  color:#0f2f3f;
}
.notice-comment{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:10px 12px;
  margin:8px 0;
}
.notice-comment p{
  margin:5px 0 0;
  line-height:1.7;
}
.notice-comments textarea{
  min-height:84px;
  margin-top:10px;
  line-height:1.7;
}
.notice-comments button{
  margin-top:8px;
}

/* v21 realtime report */
.realtime-report-card{
  border:1px solid #dbe3e8;
}
.report-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.realtime-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font-weight:700;
  font-size:13px;
}
.report-time{
  color:#64748b;
  font-size:13px;
  margin-top:-4px;
}
.report-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0;
}
.dash-card{
  background:#fff;
  border:1px solid #dbe3e8;
  border-radius:16px;
  padding:14px;
  box-shadow:0 12px 30px #0208170d;
}
.dash-card b{
  color:#0f2f3f;
}
.dash-card p{
  margin:6px 0 0;
}
