:root{
  --brand:#19b36a;
  --ink:#0b1220;
  --muted:#64748b;
  --bg:#f6f8fc;
  --card:#ffffff;
  --stroke:rgba(2,6,23,.08);
  --shadow:0 18px 50px rgba(2,6,23,.10);
  --radius:22px;
  --sidebarW:312px;

  /* brand */
  --dg-primary: #0f5132;
--dg-primary-dark: #dce5d3;
--dg-primary-mid: #c5d4b5;
--dg-primary-light: #afc49f;
  --dg-primary-soft: #ecfdf3;
  --dg-primary-gradient: linear-gradient(135deg, var(--dg-primary-dark) 0%, var(--dg-primary-mid) 40%, var(--dg-primary-light) 100%);

  /* text */
  --dg-text: #1e293b;
  --dg-text-sub: #64748b;
  --dg-text-muted: #94a3b8;
  --dg-text-on-dark: #ffffff;

  /* line / bg */
  --dg-border: #e2e8f0;
  --dg-border-strong: #cbd5e1;
  --dg-bg: #ffffff;
  --dg-bg-subtle: #f8fafc;
  --dg-bg-soft: #f1f5f9;

  /* state */
  --dg-success: #15803d;
  --dg-warning: #b45309;
  --dg-danger: #b91c1c;
  --dg-info: #0369a1;

  /* shadow / radius */
  --dg-radius-sm: 10px;
  --dg-radius: 14px;
  --dg-radius-lg: 18px;
  --dg-shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
  --dg-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);

  /* spacing */
  --dg-gap-xs: 6px;
  --dg-gap-sm: 10px;
  --dg-gap: 16px;
  --dg-gap-lg: 24px;

  --bubble-lg: 90px;
  --bubble-sm: 55px;
--bubble-lg-bg: rgba(45,74,30,.06);
--bubble-sm-bg: rgba(45,74,30,.04);
}

@font-face {
font-family: 'Pretendard Variable';
font-weight: 45 920;          /* Variable 범위 */
font-style: normal;
font-display: swap;           /* FOUT 방지 */
src: url('https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/woff2/PretendardVariable.woff2')
   format('woff2-variations');
}
html,body{height:100%;}
body{
  font-family:Pretendard Variable,system-ui,-apple-system,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,sans-serif;
  background:var(--bg);
  color:var(--ink);
}
a{
  text-decoration:none;
  color:inherit;
}

a:hover,
a:focus{
  text-decoration:none;
  color:inherit;
}

.app{
  min-height:100vh;
  display:grid;
  grid-template-columns:var(--sidebarW) 1fr;
}
@media (max-width: 992px){
  .app{grid-template-columns:1fr;}
}
body {
font-family: "Pretendard Variable", system-ui, -apple-system,
			 "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
background: var(--bg);
color: var(--ink);
margin: 0;
}

/* 공통 장식 클래스 */
.dg-bubble-deco {
  position: relative;
  overflow: hidden;
}
.dg-bubble-deco::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -15px;
  width: var(--bubble-lg);
  height: var(--bubble-lg);
  background: var(--bubble-lg-bg);
  border-radius: 50%;
  pointer-events: none;
}
.dg-bubble-deco::after {
  content: '';
  position: absolute;
  bottom: -15px;
  right: 40px;
  width: var(--bubble-sm);
  height: var(--bubble-sm);
  background: var(--bubble-sm-bg);
  border-radius: 50%;
  pointer-events: none;
}