/* 유틸리티 클래스 — 인라인 style="..."을 대체한다.
 *
 * CSP에서 style-src의 unsafe-inline을 없애려면 style 속성을 쓸 수 없다.
 * 템플릿·JS에 실제로 쓰이던 `속성:값` 쌍만 그대로 옮겨 담았다(임의로 늘리지 않는다).
 * 이름: u-<속성약어>[-<값약어>]. 값이 한 종류뿐인 속성은 값 부분을 생략한다.
 *
 * 선택자를 두 번 겹쳐 쓴 이유(.u-x.u-x):
 *   인라인 style은 원래 **모든 CSS 규칙을 이겼다**. 단일 클래스(0,1,0)로 옮기면
 *   `.project-header .title-row`(0,2,0) 같은 기존 규칙에 져서 값이 조용히 바뀐다.
 *   선택자를 겹치면 명시도가 0,2,0이 되고, 이 파일을 가장 마지막에 실어
 *   같은 명시도끼리는 이쪽이 이기게 해 예전 동작을 그대로 재현한다.
 *   (!important는 :hover 같은 뒤이은 규칙까지 막아버려 쓰지 않았다.)
 *
 * 이 파일은 main.css·화면별 CSS 다음에 불러야 한다.
 */
.u-ai-center.u-ai-center{align-items:center;}
.u-ai-end.u-ai-end{align-items:flex-end;}
.u-ai-start.u-ai-start{align-items:flex-start;}
.u-as.u-as{align-self:start;}
.u-bc-accent-x3358d4.u-bc-accent-x3358d4{border-color:var(--accent,#3358d4);}
.u-bc-x7a2a2a.u-bc-x7a2a2a{border-color:#7a2a2a;}
.u-bc-x92400e.u-bc-x92400e{border-color:#92400e;}
.u-bc-xfca5a5.u-bc-xfca5a5{border-color:#fca5a5;}
.u-bd-0.u-bd-0{border:0;}
.u-bd-1px-solid-border.u-bd-1px-solid-border{border:1px solid var(--border);}
.u-bd-1px-solid-x2a2a2e.u-bd-1px-solid-x2a2a2e{border:1px solid #2a2a2e;}
.u-bd-1px-solid-xc7d2fe.u-bd-1px-solid-xc7d2fe{border:1px solid #c7d2fe;}
.u-bd-1px-solid-xfbbf24.u-bd-1px-solid-xfbbf24{border:1px solid #fbbf24;}
.u-bdb-1px-solid-border.u-bdb-1px-solid-border{border-bottom:1px solid var(--border);}
.u-bdb-1px-solid-xe5e7eb.u-bdb-1px-solid-xe5e7eb{border-bottom:1px solid #e5e7eb;}
.u-bdl-2px-solid-xbfdbfe.u-bdl-2px-solid-xbfdbfe{border-left:2px solid #bfdbfe;}
.u-bdl-2px-solid-xc7d2fe.u-bdl-2px-solid-xc7d2fe{border-left:2px solid #c7d2fe;}
.u-bdl-2px-solid-xe9d5ff.u-bdl-2px-solid-xe9d5ff{border-left:2px solid #e9d5ff;}
.u-bdr.u-bdr{border-right:1px solid #eee;}
.u-bdt-1px-dashed-border.u-bdt-1px-dashed-border{border-top:1px dashed var(--border);}
.u-bdt-1px-solid-border.u-bdt-1px-solid-border{border-top:1px solid var(--border);}
.u-bg-accent-x3358d4.u-bg-accent-x3358d4{background:var(--accent,#3358d4);}
.u-bg-bd.u-bg-bd{background:var(--border);}
.u-bg-c.u-bg-c{background:'+c+';}
.u-bg-db.u-bg-db{background:'+DB+';}
.u-bg-img.u-bg-img{background:'+IMG+';}
.u-bg-panel.u-bg-panel{background:var(--panel);}
.u-bg-rgba-0-0-0-6.u-bg-rgba-0-0-0-6{background:rgba(0,0,0,.6);}
.u-bg-x111.u-bg-x111{background:#111;}
.u-bg-x2563eb.u-bg-x2563eb{background:#2563eb;}
.u-bg-x3a1a1a.u-bg-x3a1a1a{background:#3a1a1a;}
.u-bg-x3b82f6.u-bg-x3b82f6{background:#3b82f6;}
.u-bg-x475569.u-bg-x475569{background:#475569;}
.u-bg-x92400e.u-bg-x92400e{background:#92400e;}
.u-bg-xc7d2fe.u-bg-xc7d2fe{background:#c7d2fe;}
.u-bg-xcbb8e6.u-bg-xcbb8e6{background:#cbb8e6;}
.u-bg-xdbeafe.u-bg-xdbeafe{background:#dbeafe;}
.u-bg-xdcfce7.u-bg-xdcfce7{background:#dcfce7;}
.u-bg-xeef2ff.u-bg-xeef2ff{background:#eef2ff;}
.u-bg-xef4444.u-bg-xef4444{background:#ef4444;}
.u-bg-xeff6ff.u-bg-xeff6ff{background:#eff6ff;}
.u-bg-xf8fafc.u-bg-xf8fafc{background:#f8fafc;}
.u-bg-xfaf5ff.u-bg-xfaf5ff{background:#faf5ff;}
.u-bg-xfde68a.u-bg-xfde68a{background:#fde68a;}
.u-bg-xfef2f2.u-bg-xfef2f2{background:#fef2f2;}
.u-bg-xfef3c7.u-bg-xfef3c7{background:#fef3c7;}
.u-bg-xfff.u-bg-xfff{background:#fff;}
.u-br-10px.u-br-10px{border-radius:10px;}
.u-br-2px.u-br-2px{border-radius:2px;}
.u-br-3px.u-br-3px{border-radius:3px;}
.u-br-50.u-br-50{border-radius:50%;}
.u-br-5px.u-br-5px{border-radius:5px;}
.u-br-6px.u-br-6px{border-radius:6px;}
.u-br-7px.u-br-7px{border-radius:7px;}
.u-br-8px.u-br-8px{border-radius:8px;}
.u-c-inherit.u-c-inherit{color:inherit;}
.u-c-muted.u-c-muted{color:var(--muted);}
.u-c-pri.u-c-pri{color:var(--primary);}
.u-c-t2.u-c-t2{color:var(--text-2);}
.u-c-text-2-x475569.u-c-text-2-x475569{color:var(--text-2,#475569);}
.u-c-text-2-x555.u-c-text-2-x555{color:var(--text-2,#555);}
.u-c-tx.u-c-tx{color:var(--text);}
.u-c-x16a34a.u-c-x16a34a{color:#16a34a;}
.u-c-x1d4ed8.u-c-x1d4ed8{color:#1d4ed8;}
.u-c-x22c55e.u-c-x22c55e{color:#22c55e;}
.u-c-x2563eb.u-c-x2563eb{color:#2563eb;}
.u-c-x3358d4.u-c-x3358d4{color:#3358d4;}
.u-c-x3730a3.u-c-x3730a3{color:#3730a3;}
.u-c-x3b82f6.u-c-x3b82f6{color:#3b82f6;}
.u-c-x444.u-c-x444{color:#444;}
.u-c-x475569.u-c-x475569{color:#475569;}
.u-c-x64748b.u-c-x64748b{color:#64748b;}
.u-c-x7c2d12.u-c-x7c2d12{color:#7c2d12;}
.u-c-x8b5cf6.u-c-x8b5cf6{color:#8b5cf6;}
.u-c-x92400e.u-c-x92400e{color:#92400e;}
.u-c-x94a3b8.u-c-x94a3b8{color:#94a3b8;}
.u-c-xb45309.u-c-xb45309{color:#b45309;}
.u-c-xb91c1c.u-c-xb91c1c{color:#b91c1c;}
.u-c-xcbd5e1.u-c-xcbd5e1{color:#cbd5e1;}
.u-c-xd97706.u-c-xd97706{color:#d97706;}
.u-c-xdc2626.u-c-xdc2626{color:#dc2626;}
.u-c-xef4444.u-c-xef4444{color:#ef4444;}
.u-c-xf59e0b.u-c-xf59e0b{color:#f59e0b;}
.u-c-xf87171.u-c-xf87171{color:#f87171;}
.u-c-xfde68a.u-c-xfde68a{color:#fde68a;}
.u-c-xfff.u-c-xfff{color:#fff;}
.u-cur-default.u-cur-default{cursor:default;}
.u-cur-ptr.u-cur-ptr{cursor:pointer;}
.u-d-block.u-d-block{display:block;}
.u-d-flex.u-d-flex{display:flex;}
.u-d-grid.u-d-grid{display:grid;}
.u-d-ib.u-d-ib{display:inline-block;}
.u-d-if.u-d-if{display:inline-flex;}
.u-d-inline.u-d-inline{display:inline;}
.u-d-none.u-d-none{display:none;}
.u-f.u-f{float:left;}
.u-f-1.u-f-1{flex:1;}
.u-f-2.u-f-2{flex:2;}
.u-fdir.u-fdir{flex-direction:column;}
.u-ff.u-ff{font-family:inherit;}
.u-fs.u-fs{font-style:normal;}
.u-fs-10px.u-fs-10px{font-size:10px;}
.u-fs-11px.u-fs-11px{font-size:11px;}
.u-fs-12px.u-fs-12px{font-size:12px;}
.u-fs-13px.u-fs-13px{font-size:13px;}
.u-fs-14px.u-fs-14px{font-size:14px;}
.u-fs-32px.u-fs-32px{font-size:32px;}
.u-fs-6-5px.u-fs-6-5px{font-size:6.5px;}
.u-fs-7-5px.u-fs-7-5px{font-size:7.5px;}
.u-fs-7px.u-fs-7px{font-size:7px;}
.u-fs-8px.u-fs-8px{font-size:8px;}
.u-fsh.u-fsh{flex-shrink:0;}
.u-fw-400.u-fw-400{font-weight:400;}
.u-fw-600.u-fw-600{font-weight:600;}
.u-fw-700.u-fw-700{font-weight:700;}
.u-fwrap.u-fwrap{flex-wrap:wrap;}
.u-gap-10px.u-gap-10px{gap:10px;}
.u-gap-12px.u-gap-12px{gap:12px;}
.u-gap-14px.u-gap-14px{gap:14px;}
.u-gap-16px.u-gap-16px{gap:16px;}
.u-gap-24px.u-gap-24px{gap:24px;}
.u-gap-4px.u-gap-4px{gap:4px;}
.u-gap-5px.u-gap-5px{gap:5px;}
.u-gap-6px.u-gap-6px{gap:6px;}
.u-gap-7px.u-gap-7px{gap:7px;}
.u-gap-8px.u-gap-8px{gap:8px;}
.u-gtc-1fr-1fr.u-gtc-1fr-1fr{grid-template-columns:1fr 1fr;}
.u-gtc-70px-1fr-92px.u-gtc-70px-1fr-92px{grid-template-columns:70px 1fr 92px;}
.u-h-100.u-h-100{height:100%;}
.u-h-11px.u-h-11px{height:11px;}
.u-h-12px.u-h-12px{height:12px;}
.u-h-13px.u-h-13px{height:13px;}
.u-h-14px.u-h-14px{height:14px;}
.u-h-15px.u-h-15px{height:15px;}
.u-h-16px.u-h-16px{height:16px;}
.u-h-17px.u-h-17px{height:17px;}
.u-h-18px.u-h-18px{height:18px;}
.u-h-200px.u-h-200px{height:200px;}
.u-h-20px.u-h-20px{height:20px;}
.u-h-22px.u-h-22px{height:22px;}
.u-h-24px.u-h-24px{height:24px;}
.u-h-30px.u-h-30px{height:30px;}
.u-h-44px.u-h-44px{height:44px;}
.u-h-9px.u-h-9px{height:9px;}
.u-inset-0.u-inset-0{inset:0;}
.u-inset-3vh-4vw.u-inset-3vh-4vw{inset:3vh 4vw;}
.u-jc-center.u-jc-center{justify-content:center;}
.u-jc-sb.u-jc-sb{justify-content:space-between;}
.u-lh-1-6.u-lh-1-6{line-height:1.6;}
.u-lh-1-7.u-lh-1-7{line-height:1.7;}
.u-lh-1-8.u-lh-1-8{line-height:1.8;}
.u-m-0-0-12px.u-m-0-0-12px{margin:0 0 12px;}
.u-m-0-16px.u-m-0-16px{margin:0 16px;}
.u-m-0-4px-5px-0.u-m-0-4px-5px-0{margin:0 4px 5px 0;}
.u-m-0-auto.u-m-0-auto{margin:0 auto;}
.u-m-10px-0-3px.u-m-10px-0-3px{margin:10px 0 3px;}
.u-m-2px-0.u-m-2px-0{margin:2px 0;}
.u-m-4px-0-2px.u-m-4px-0-2px{margin:4px 0 2px;}
.u-m-6px-0.u-m-6px-0{margin:6px 0;}
.u-m-7px-0.u-m-7px-0{margin:7px 0;}
.u-m-8px-0-0.u-m-8px-0-0{margin:8px 0 0;}
.u-m-9px-0-3px.u-m-9px-0-3px{margin:9px 0 3px;}
.u-maxh-160px.u-maxh-160px{max-height:160px;}
.u-maxh-180px.u-maxh-180px{max-height:180px;}
.u-maxh-360px.u-maxh-360px{max-height:360px;}
.u-maxh-520px.u-maxh-520px{max-height:520px;}
.u-maxh-560px.u-maxh-560px{max-height:560px;}
.u-maxh-60vh.u-maxh-60vh{max-height:60vh;}
.u-maxh-none.u-maxh-none{max-height:none;}
.u-maxw-150px.u-maxw-150px{max-width:150px;}
.u-maxw-170px.u-maxw-170px{max-width:170px;}
.u-maxw-180px.u-maxw-180px{max-width:180px;}
.u-maxw-220px.u-maxw-220px{max-width:220px;}
.u-maxw-260px.u-maxw-260px{max-width:260px;}
.u-maxw-280px.u-maxw-280px{max-width:280px;}
.u-maxw-300px.u-maxw-300px{max-width:300px;}
.u-maxw-320px.u-maxw-320px{max-width:320px;}
.u-maxw-440px.u-maxw-440px{max-width:440px;}
.u-maxw-520px.u-maxw-520px{max-width:520px;}
.u-maxw-560px.u-maxw-560px{max-width:560px;}
.u-mb-10px.u-mb-10px{margin-bottom:10px;}
.u-mb-12px.u-mb-12px{margin-bottom:12px;}
.u-mb-14px.u-mb-14px{margin-bottom:14px;}
.u-mb-16px.u-mb-16px{margin-bottom:16px;}
.u-mb-20px.u-mb-20px{margin-bottom:20px;}
.u-mb-4px.u-mb-4px{margin-bottom:4px;}
.u-mb-5px.u-mb-5px{margin-bottom:5px;}
.u-mb-6px.u-mb-6px{margin-bottom:6px;}
.u-mb-7px.u-mb-7px{margin-bottom:7px;}
.u-mb-8px.u-mb-8px{margin-bottom:8px;}
.u-minh-0.u-minh-0{min-height:0;}
.u-minh-24px.u-minh-24px{min-height:24px;}
.u-minw-0.u-minw-0{min-width:0;}
.u-minw-120px.u-minw-120px{min-width:120px;}
.u-minw-180px.u-minw-180px{min-width:180px;}
.u-minw-200px.u-minw-200px{min-width:200px;}
.u-minw-220px.u-minw-220px{min-width:220px;}
.u-minw-240px.u-minw-240px{min-width:240px;}
.u-minw-44px.u-minw-44px{min-width:44px;}
.u-minw-90px.u-minw-90px{min-width:90px;}
.u-ml-2px.u-ml-2px{margin-left:2px;}
.u-ml-4px.u-ml-4px{margin-left:4px;}
.u-ml-6px.u-ml-6px{margin-left:6px;}
.u-ml-8px.u-ml-8px{margin-left:8px;}
.u-ml-auto.u-ml-auto{margin-left:auto;}
.u-mr.u-mr{margin-right:5px;}
.u-mt-10px.u-mt-10px{margin-top:10px;}
.u-mt-12px.u-mt-12px{margin-top:12px;}
.u-mt-14px.u-mt-14px{margin-top:14px;}
.u-mt-2px.u-mt-2px{margin-top:2px;}
.u-mt-3px.u-mt-3px{margin-top:3px;}
.u-mt-4px.u-mt-4px{margin-top:4px;}
.u-mt-5px.u-mt-5px{margin-top:5px;}
.u-mt-6px.u-mt-6px{margin-top:6px;}
.u-mt-8px.u-mt-8px{margin-top:8px;}
.u-mt-9px.u-mt-9px{margin-top:9px;}
.u-op.u-op{opacity:.6;}
.u-op-5.u-op-5{opacity:.5;}
.u-ov-auto.u-ov-auto{overflow:auto;}
.u-ov-hidden.u-ov-hidden{overflow:hidden;}
.u-p-0-0-8px.u-p-0-0-8px{padding:0 0 8px;}
.u-p-0-5px.u-p-0-5px{padding:0 5px;}
.u-p-0-6px.u-p-0-6px{padding:0 6px;}
.u-p-10px-14px.u-p-10px-14px{padding:10px 14px;}
.u-p-10px-14px-2px.u-p-10px-14px-2px{padding:10px 14px 2px;}
.u-p-10px-2px.u-p-10px-2px{padding:10px 2px;}
.u-p-2px-14px-12px.u-p-2px-14px-12px{padding:2px 14px 12px;}
.u-p-10px-8px.u-p-10px-8px{padding:10px 8px;}
.u-p-12px-0.u-p-12px-0{padding:12px 0;}
.u-p-12px-16px.u-p-12px-16px{padding:12px 16px;}
.u-p-12px-16px-8px.u-p-12px-16px-8px{padding:12px 16px 8px;}
.u-p-12px-4px.u-p-12px-4px{padding:12px 4px;}
.u-p-14px.u-p-14px{padding:14px;}
.u-p-14px-4px.u-p-14px-4px{padding:14px 4px;}
.u-p-16px-0.u-p-16px-0{padding:16px 0;}
.u-p-1px-5px.u-p-1px-5px{padding:1px 5px;}
.u-p-1px-7px.u-p-1px-7px{padding:1px 7px;}
.u-p-1px-8px.u-p-1px-8px{padding:1px 8px;}
.u-p-20px.u-p-20px{padding:20px;}
.u-p-20px-0.u-p-20px-0{padding:20px 0;}
.u-p-24px-0.u-p-24px-0{padding:24px 0;}
.u-p-2px.u-p-2px{padding:2px;}
.u-p-2px-5px.u-p-2px-5px{padding:2px 5px;}
.u-p-2px-7px.u-p-2px-7px{padding:2px 7px;}
.u-p-3px-10px.u-p-3px-10px{padding:3px 10px;}
.u-p-3px-5px.u-p-3px-5px{padding:3px 5px;}
.u-p-3px-6px.u-p-3px-6px{padding:3px 6px;}
.u-p-3px-9px.u-p-3px-9px{padding:3px 9px;}
.u-p-4px.u-p-4px{padding:4px;}
.u-p-4px-0-10px.u-p-4px-0-10px{padding:4px 0 10px;}
.u-p-4px-6px.u-p-4px-6px{padding:4px 6px;}
.u-p-4px-8px.u-p-4px-8px{padding:4px 8px;}
.u-p-5px-11px.u-p-5px-11px{padding:5px 11px;}
.u-p-5px-8px.u-p-5px-8px{padding:5px 8px;}
.u-p-5px-9px.u-p-5px-9px{padding:5px 9px;}
.u-p-6px.u-p-6px{padding:6px;}
.u-p-6px-10px.u-p-6px-10px{padding:6px 10px;}
.u-p-6px-2px.u-p-6px-2px{padding:6px 2px;}
.u-p-7px-10px.u-p-7px-10px{padding:7px 10px;}
.u-p-7px-8px.u-p-7px-8px{padding:7px 8px;}
.u-p-80px-20px.u-p-80px-20px{padding:80px 20px;}
.u-p-8px.u-p-8px{padding:8px;}
.u-p-8px-10px.u-p-8px-10px{padding:8px 10px;}
.u-p-8px-12px.u-p-8px-12px{padding:8px 12px;}
.u-p-8px-2px.u-p-8px-2px{padding:8px 2px;}
.u-pl.u-pl{padding-left:18px;}
.u-pos-abs.u-pos-abs{position:absolute;}
.u-pos-fixed.u-pos-fixed{position:fixed;}
.u-pt-10px.u-pt-10px{padding-top:10px;}
.u-pt-12px.u-pt-12px{padding-top:12px;}
.u-pt-14px.u-pt-14px{padding-top:14px;}
.u-sh-0-0-0-3px-rgba-239-68-68-18.u-sh-0-0-0-3px-rgba-239-68-68-18{box-shadow:0 0 0 3px rgba(239,68,68,.18);}
.u-sh-0-0-0-3px-rgba-59-130-246-18.u-sh-0-0-0-3px-rgba-59-130-246-18{box-shadow:0 0 0 3px rgba(59,130,246,.18);}
.u-sh-0-20px-60px-rgba-0-0-0-4.u-sh-0-20px-60px-rgba-0-0-0-4{box-shadow:0 20px 60px rgba(0,0,0,.4);}
.u-t-all-12s.u-t-all-12s{transition:all .12s;}
.u-t-width-15s.u-t-width-15s{transition:width .15s;}
.u-ta-center.u-ta-center{text-align:center;}
.u-ta-left.u-ta-left{text-align:left;}
.u-ta-right.u-ta-right{text-align:right;}
.u-td-none.u-td-none{text-decoration:none;}
.u-td-underline.u-td-underline{text-decoration:underline;}
.u-to.u-to{text-overflow:ellipsis;}
.u-va.u-va{vertical-align:middle;}
.u-w-0.u-w-0{width:0%;}
.u-w-0-2.u-w-0-2{width:0;}
.u-w-100.u-w-100{width:100%;}
.u-w-100px.u-w-100px{width:100px;}
.u-w-11px.u-w-11px{width:11px;}
.u-w-120px.u-w-120px{width:120px;}
.u-w-140px.u-w-140px{width:140px;}
.u-w-160px.u-w-160px{width:160px;}
.u-w-16px.u-w-16px{width:16px;}
.u-w-170px.u-w-170px{width:170px;}
.u-w-18px.u-w-18px{width:18px;}
.u-w-200px.u-w-200px{width:200px;}
.u-w-220px.u-w-220px{width:220px;}
.u-w-230px.u-w-230px{width:230px;}
.u-w-240px.u-w-240px{width:240px;}
.u-w-280px.u-w-280px{width:280px;}
.u-w-300px.u-w-300px{width:300px;}
.u-w-34px.u-w-34px{width:34px;}
.u-w-36px.u-w-36px{width:36px;}
.u-w-38px.u-w-38px{width:38px;}
.u-w-46px.u-w-46px{width:46px;}
.u-w-50px.u-w-50px{width:50px;}
.u-w-520px.u-w-520px{width:520px;}
.u-w-62px.u-w-62px{width:62px;}
.u-w-80px.u-w-80px{width:80px;}
.u-w-90px.u-w-90px{width:90px;}
.u-w-92px.u-w-92px{width:92px;}
.u-w-9px.u-w-9px{width:9px;}
.u-w-auto.u-w-auto{width:auto;}
.u-w-db-tot-100-tofixed-1.u-w-db-tot-100-tofixed-1{width:'+(db/tot*100).toFixed(1)+'%;}
.u-w-img-tot-100-tofixed-1.u-w-img-tot-100-tofixed-1{width:'+(img/tot*100).toFixed(1)+'%;}
.u-wb.u-wb{word-break:break-all;}
.u-ws-normal.u-ws-normal{white-space:normal;}
.u-ws-nowrap.u-ws-nowrap{white-space:nowrap;}
.u-z.u-z{z-index:9999;}
