/* Homepage self diagnosis: approved option A. */
.tt-diagnosis-section .tt-diagnosis-intro { margin:0 0 var(--tt-content-gap,32px); padding:0 12px; text-align:center; font-family:"Paperlogy","Noto Sans KR",sans-serif; font-size:16px; font-weight:600; line-height:1.4; color:#000; word-break:keep-all; overflow-wrap:break-word; }
#dg-wrap { box-sizing:border-box; background:radial-gradient(ellipse at 100% 0,#07478799,transparent 50%),linear-gradient(150deg,#001a3e,#07356a); border:1px solid #178ec9; border-radius:22px; padding:34px; color:#f5f8ff; font-family:"Paperlogy","Noto Sans KR","Malgun Gothic",sans-serif; line-height:1.5; box-shadow:0 12px 30px #072b5d12; }
#dg-wrap * { box-sizing:border-box; }
#dg-wrap .dg-inner { display:grid; min-width:0; }
#dg-wrap .panel-heading { grid-row:1; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
#dg-wrap .eyebrow { display:block; font-size:11px; letter-spacing:2px; color:#70daff; font-weight:800; margin-bottom:7px; }
#dg-wrap .panel-heading h2 { font-family:inherit; font-size:24px; font-weight:800; letter-spacing:-1px; line-height:1.25; margin:0; color:#fff23c; }
#dg-wrap .check-total { font-size:13px; color:#b5cee6; border:1px solid #35618d; border-radius:6px; padding:7px 12px; white-space:nowrap; }
#dg-wrap .dg-desc { grid-row:2; font-size:14px; font-weight:600; line-height:1.4; color:#b5cee6; margin:0 0 24px; }
#dg-wrap .dg-card,#dg-wrap #dg-dialog { grid-row:3; grid-column:1; min-width:0; }
#dg-wrap .dg-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
#dg-wrap .dg-item { position:relative; display:flex; align-items:center; min-height:78px; gap:10px; padding:15px 16px; margin:0; border:1px solid #d5e1ed; background:#fff; color:#173b60; border-radius:10px; font-size:15px; font-weight:600; line-height:1.4; cursor:pointer; box-shadow:0 2px 6px #00122a18; transition:background .2s,border-color .2s; }
#dg-wrap .dg-item input { position:absolute; opacity:0; width:1px; height:1px; }
#dg-wrap .dg-box { flex:none; width:25px; height:25px; margin-right:6px; border-radius:5px; background:#dce9f4; border:1px solid #bdd1e2; display:flex; align-items:center; justify-content:center; color:#fff; font-size:16px; }
#dg-wrap .dg-ico { flex:none; color:#0753a7; font-size:23px; font-weight:normal; width:25px; text-align:center; }
#dg-wrap .dg-item:hover { background:#f1f7fd; border-color:#6ca7d4; }
#dg-wrap .dg-item.on { background:#fff8cc; border-color:#ffe346; box-shadow:inset 0 0 0 1px #ffe34635; color:#173b60; }
#dg-wrap .dg-item.on .dg-box { background:#0753a7; border-color:#bdd1e2; color:#fff; }
#dg-wrap .dg-item input:focus-visible+.dg-box { outline:3px solid #038aff; outline-offset:2px; }
#dg-wrap button { font-family:inherit; cursor:pointer; }
#dg-wrap .dg-btn { display:block; width:100%; background:linear-gradient(110deg,#038aff,#0753a7); color:#fff; border:1px solid #42caff; font-size:18px; font-weight:800; border-radius:10px; padding:17px; margin-top:24px; line-height:1.4; box-shadow:0 0 18px #009eff20; }
#dg-wrap .dg-btn:disabled { background:#153c66; border-color:#35618d; color:#9dbbd7; box-shadow:none; cursor:default; }
#dg-wrap #dg-dialog { z-index:2; align-self:start; margin:0; min-height:100%; color:#eaf5ff; background:linear-gradient(150deg,#001a3e,#07356a); border:1px solid #42caff; border-radius:14px; padding:0; scroll-margin-top:110px; }
#dg-wrap #dg-dialog[hidden],#dg-wrap:not(.show-result) #dg-dialog { display:none; }
#dg-wrap.show-result .dg-card { visibility:hidden; pointer-events:none; }
#dg-wrap .result-head { display:flex; justify-content:space-between; align-items:center; padding:22px; border-bottom:1px solid #35618d; gap:12px; }
#dg-wrap .result-head h2 { font-family:inherit; color:#eaf5ff; font-size:26px; font-weight:800; letter-spacing:-1px; margin:0; line-height:1.2; }
#dg-wrap .result-head button { flex:none; max-width:50%; padding:11px 14px; border:1px solid #35618d; border-radius:8px; background:#0c3159; color:#fff; font-size:14px; font-weight:700; line-height:1.4; }
#dg-wrap .result-scroll { padding:22px; }
#dg-wrap .dg-result { margin:0; }
#dg-wrap .dg-level { border:1px solid #42caff; background:#0c3159; padding:22px; border-radius:12px; font-size:15px; line-height:1.5; }
#dg-wrap .dg-level b { display:flex; align-items:center; gap:12px; font-size:32px; font-weight:800; line-height:1.15; margin-bottom:10px; }
#dg-wrap .dg-level-icon { font-size:.9em; flex:none; line-height:1; }
#dg-wrap .dg-l1 { border-color:#fff23c; }
#dg-wrap .dg-l1 b { color:#fff23c; }
#dg-wrap .dg-l2 { border-color:#ffb052; }
#dg-wrap .dg-l2 b { color:#ffb052; }
#dg-wrap .dg-l3 { border-color:#ff6e78; }
#dg-wrap .dg-l3 b { color:#ff6e78; }
#dg-wrap .dg-sub { font-size:20px; font-weight:800; color:#f5f8ff; margin:26px 0 14px; }
#dg-wrap .dg-type { background:#f2f7fd; border:0; border-left:4px solid #038aff; color:#052b63; border-radius:10px; padding:20px; margin-bottom:12px; }
#dg-wrap .dg-type b { display:block; font-size:19px; font-weight:800; letter-spacing:-.6px; line-height:1.3; margin-bottom:7px; }
#dg-wrap .dg-type span { color:#435a75; font-size:14px; }
#dg-wrap .dg-type ul { color:#30445a; font-size:14px; line-height:1.5; padding-left:19px; margin:10px 0 0; list-style:disc outside; }
#dg-wrap .dg-type li { display:list-item; list-style:disc outside; margin:4px 0; }
#dg-wrap .dg-warn { margin:10px 0 0; color:#ae273b; font-weight:700; font-size:13px; line-height:1.5; }
#dg-wrap .dg-hit { margin-top:8px; color:#60758a; font-size:12px; }
#dg-wrap .dg-result-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
#dg-wrap .dg-reset,#dg-wrap .dg-provider-link { display:flex; align-items:center; justify-content:center; margin:0; background:none; color:#eaf5ff; border:1px solid #6acfff; border-radius:8px; font-family:inherit; font-size:14px; font-weight:700; line-height:1.4; padding:13px 12px; text-align:center; text-decoration:none; }
#dg-wrap .dg-reset { background:#fff23c; border-color:#fff23c; color:#001a3e; }
#dg-wrap .dg-provider-link:hover { background:#104a7c; }
#dg-wrap .dg-highlight { font:inherit!important; color:inherit!important; background-image:linear-gradient(#000,#000); background-size:var(--dg-progress,0%) .9em; background-position:left 60%; background-repeat:no-repeat; box-shadow:none; text-shadow:none; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
#dg-wrap .dg-type .dg-highlight { background-image:linear-gradient(#ffe066,#ffe066); }
.tt-diagnosis-section .tt-main-heading { scroll-margin-top:110px; }
@media(max-width:640px) {
 .tt-diagnosis-section .tt-diagnosis-intro { font-size:14px; }
 #dg-wrap { padding:22px 15px; border-radius:16px; }
 #dg-wrap .panel-heading { align-items:flex-start; gap:8px; }
 #dg-wrap .panel-heading h2 { font-size:21px; }
 #dg-wrap .check-total { font-size:11px; padding:5px 7px; }
 #dg-wrap .panel-heading .eyebrow { font-size:10px; }
 #dg-wrap .dg-desc { font-size:13px; margin-bottom:18px; }
 #dg-wrap .dg-grid { grid-template-columns:1fr; gap:8px; }
 #dg-wrap .dg-item { min-height:68px; padding:13px 12px; font-size:14px; gap:8px; }
 #dg-wrap .dg-ico { font-size:21px; width:23px; }
 #dg-wrap .dg-btn { font-size:16px; margin-top:18px; }
 #dg-wrap .result-head,#dg-wrap .result-scroll { padding:18px; }
 #dg-wrap .result-head h2 { font-size:23px; }
 #dg-wrap .result-head button { font-size:12px; padding:10px; }
 #dg-wrap .dg-result-actions { gap:8px; }
 #dg-wrap .dg-reset,#dg-wrap .dg-provider-link { font-size:13px; padding:13px 8px; }
 #dg-wrap .dg-level b { font-size:28px; }
 #dg-wrap .dg-type { padding:17px; }
 #dg-wrap .dg-type b { font-size:18px; }
}

#dg-wrap .dg-provider-full { margin-top:12px; width:100%; background:#2294d5; border-color:#2294d5; color:#fff; }
#dg-wrap .dg-provider-full:hover { background:#187eb8; }
