:root{font-family:Inter,Pretendard,Noto Sans KR,Arial,sans-serif;color:#0f172a;background:#f8fafc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f8fafc}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #6ca5ff;outline-offset:3px}.dq-app{min-height:100dvh;display:grid;grid-template-columns:240px minmax(0,1fr);background:#f8fafc}.dq-rail{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:0;color:#64748b;background:#fff;border-right:1px solid #e2e8f0}.dq-brand{display:flex;align-items:center;gap:11px;padding:20px;border-bottom:1px solid #f1f5f9;color:#0f172a;text-decoration:none;font-weight:800;letter-spacing:-.02em}.dq-brand-mark{display:grid;width:40px;height:40px;place-items:center;overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.dq-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.dq-brand small{display:block;margin-top:2px;color:#64748b;font-size:11px;font-weight:500;letter-spacing:0}.dq-rail nav{display:grid;flex:1;align-content:start;gap:20px;overflow-y:auto;padding:16px 12px}.dq-nav-group{display:grid;gap:4px}.dq-nav-label{margin:0;padding:0 12px 4px;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.dq-nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:10px 12px;border:0;border-radius:8px;color:#475569;background:transparent;text-align:left;font-size:14px;font-weight:600;transition:color .18s ease,background .18s ease}.dq-nav-item:hover{color:#0f172a;background:#f1f5f9}.dq-nav-item.active{color:#1d4ed8;background:#eff6ff}.dq-nav-item svg{flex:0 0 auto;color:#94a3b8}.dq-nav-item.active svg{color:#2563eb}.dq-nav-item b{margin-left:auto;display:grid;min-width:21px;height:21px;place-items:center;border-radius:99px;color:#b91c1c;background:#fee2e2;font-size:10px}.dq-rail-bottom{display:grid;gap:10px;padding:12px;border-top:1px solid #f1f5f9;font-size:12px}.dq-local-notice{display:flex;align-items:flex-start;gap:8px;padding:12px;border-radius:12px;color:#64748b;background:#f8fafc;line-height:1.5}.dq-local-notice svg{flex:0 0 auto;margin-top:2px;color:#2563eb}.dq-local-notice p{margin:0}.dq-rail-bottom a{display:flex;align-items:center;gap:6px;padding:0 4px;color:#64748b;text-decoration:none}.dq-rail-bottom a:hover{color:#2563eb}.dq-menu-toggle,.dq-menu-close,.dq-menu-backdrop{display:none}.dq-main{min-width:0;padding:28px 34px 20px;background:#f8fafc}.dq-topbar,.dq-command-bar,.dq-hero-grid,.dq-metrics,.dq-workspace,.dq-consult-cta,.dq-footer{max-width:1420px;margin-inline:auto}.dq-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:27px}.dq-topbar-copy{display:flex;min-width:0;align-items:center;gap:12px}.dq-kicker,.dq-section-heading>div>span,.dq-panel-heading span{display:block;color:#5980b8;font-size:10px;font-weight:800;letter-spacing:.12em}.dq-topbar h1{margin:7px 0 0;color:#112849;font-size:clamp(24px,2.5vw,36px);letter-spacing:-.055em;line-height:1.18}.dq-top-actions,.dq-command-actions{display:flex;align-items:center;gap:8px}.dq-command-actions button{display:inline-grid;place-items:center;border:1px solid #d5deea;border-radius:8px;color:#49617f;background:#fff;transition:.17s ease}.dq-command-actions button{gap:7px;padding:8px 10px;font-size:12px}.dq-command-actions button:hover{color:#165eb7;border-color:#9cc6fc;background:#f6faff}.dq-primary{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:1px solid #145bb5;border-radius:8px;color:#fff;background:#1b64c1;box-shadow:0 8px 16px #1754a629;font-weight:750;font-size:12px;transition:transform .15s ease,background .15s ease}.dq-primary:hover{background:#124f9f}.dq-primary:active{transform:translateY(1px)}.dq-command-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid #dce4ee;border-radius:11px;background:#ffffffe0;box-shadow:0 8px 22px #1f40670a}.dq-source,.dq-local{display:flex;align-items:center;gap:9px}.dq-source-icon{display:grid;width:31px;height:31px;place-items:center;border-radius:8px;color:#2868bf;background:#e7f0ff}.dq-source b{display:block;font-size:12px}.dq-source small{display:block;margin-top:2px;color:#7a8da8;font-size:10px}.dq-local{margin-left:6px;padding:4px 7px;border-radius:99px;color:#237355;background:#e9f7f0;font-size:10px;font-weight:800}.dq-hero-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,.95fr);gap:16px;margin-top:16px}.dq-readiness{position:relative;overflow:hidden;min-height:236px;padding:28px 28px 17px;border-radius:15px;color:#fff;background:#153c72;background-image:linear-gradient(120deg,#102f5e,#1c5fae);box-shadow:0 19px 35px #16407838}.dq-readiness:after{content:"";position:absolute;right:-5%;top:-80%;width:50%;height:180%;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 36px #ffffff09,0 0 0 72px #ffffff05;transform:rotate(24deg);pointer-events:none}.dq-readiness-copy{position:relative;z-index:1;max-width:54%}.dq-readiness-copy>span{color:#a7ccfc;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.dq-readiness h2{margin:7px 0 4px;font-size:68px;letter-spacing:-.08em;line-height:.96}.dq-readiness h2 em{margin-left:4px;color:#9ac4f5;font-size:17px;font-style:normal;letter-spacing:0}.dq-readiness-copy p{margin:12px 0;color:#c9dcf6;font-size:12px;line-height:1.55}.dq-readiness-copy p b{padding:3px 7px;border-radius:99px;font-size:10px}.dq-readiness-copy p b.ready{color:#d2f7e8;background:#30bc7c47}.dq-readiness-copy p b.review{color:#ffe9bd;background:#eda93245}.dq-readiness-copy p b.blocked{color:#ffd7d7;background:#d7454359}.dq-orbit{--score: 270deg;position:absolute;z-index:1;right:8%;top:35px;display:grid;width:125px;height:125px;place-items:center;border-radius:50%;background:conic-gradient(#88c5ff var(--score),rgba(255,255,255,.13) 0);box-shadow:0 0 0 12px #ffffff09}.dq-orbit:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:inherit;background:#16447f}.dq-orbit span{position:relative;z-index:1;color:#fff;font-size:29px;font-weight:800;letter-spacing:-.06em}.dq-orbit small{display:block;color:#a9c8ed;font-size:9px;font-weight:700;letter-spacing:.07em}.dq-stage-line{position:absolute;z-index:1;left:28px;right:28px;bottom:16px;display:flex;align-items:center;gap:7px;color:#7ea8dc;font-size:9px;line-height:1.25}.dq-stage-line span{width:54px}.dq-stage-line b{color:#abc7ee;font-size:10px}.dq-stage-line .done,.dq-stage-line .done b{color:#fff}.dq-stage-line i{flex:1;height:1px;background:#ffffff42}.dq-signal-panel,.dq-issue-panel,.dq-rule-panel{border:1px solid #dbe3ed;border-radius:15px;background:#ffffffed;box-shadow:0 9px 23px #213e6209}.dq-signal-panel{padding:24px}.dq-panel-heading,.dq-section-heading{display:flex;justify-content:space-between;gap:12px}.dq-panel-heading{color:#3473c7}.dq-panel-heading h2,.dq-section-heading h2{margin:4px 0 0;color:#18304f;font-size:18px;letter-spacing:-.04em}.dq-signal-list{display:grid;margin-top:18px}.dq-signal-list>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #edf1f6}.dq-signal-list p{flex:1;margin:0;color:#5c6f89;font-size:12px}.dq-signal-list b{color:#1a304e}.dot{width:8px;height:8px;border-radius:50%}.dot-red{background:#e65358;box-shadow:0 0 0 4px #feecee}.dot-amber{background:#e4a33d;box-shadow:0 0 0 4px #fff4db}.dot-blue{background:#4084db;box-shadow:0 0 0 4px #e8f1ff}.dq-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.dq-metric{padding:15px 17px;border-top:2px solid #dbe3ef;background:#ffffffba}.dq-metric span{display:block;color:#72849e;font-size:11px}.dq-metric strong{display:block;margin:7px 0 3px;color:#193151;font-size:27px;letter-spacing:-.06em}.dq-metric small{color:#8090a6;font-size:10px}.dq-metric-red{border-color:#eb6670}.dq-metric-red strong{color:#c2424a}.dq-metric-blue{border-color:#4c93ee}.dq-metric-blue strong{color:#216cbd}.dq-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(275px,.8fr);gap:16px;margin-top:25px}.dq-issue-panel{min-height:405px;padding:22px}.dq-rule-panel{padding:22px}.dq-filter{display:flex;align-items:center;gap:4px;color:#6680a1}.dq-filter button{padding:5px 8px;border:0;border-radius:6px;color:#7a8ba3;background:transparent;font-size:11px}.dq-filter button.selected{color:#1b5fac;background:#e7f0ff;font-weight:800}.dq-finding-list{margin-top:19px}.dq-finding{display:grid;grid-template-columns:47px 42px 1fr 24px;align-items:center;gap:11px;min-height:56px;border-top:1px solid #eaf0f5}.dq-row{color:#8a9bb1;font-size:10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.dq-pill{display:inline-flex;justify-content:center;width:35px;padding:4px;border-radius:4px;font-size:9px;font-weight:800}.dq-pill-error{color:#b43242;background:#ffe8ea}.dq-pill-warning{color:#9a6811;background:#fff3d9}.dq-finding b{color:#25405f;font-size:12px}.dq-finding p{margin:2px 0 0;color:#8190a4;font-size:11px}.dq-finding button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:6px;color:#7f91a8;background:transparent}.dq-finding button:hover{color:#1460bb;background:#eaf2ff}.dq-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:300px;color:#2c8260;font-size:13px}.dq-mapping-list{display:grid;gap:2px;margin-top:18px}.dq-mapping-list>div{display:grid;grid-template-columns:86px 25px 86px 1fr 20px;align-items:center;gap:10px;padding:15px 9px;border-top:1px solid #eaf0f5}.dq-mapping-list code{padding:6px 7px;border-radius:5px;color:#265e9d;background:#edf5ff;font-size:11px}.dq-mapping-list span{color:#83a1c3}.dq-mapping-list p{margin:0;color:#667b97;font-size:12px}.dq-mapping-list svg{color:#29956a}.dq-rule{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #eaf0f5}.dq-rule>b{color:#8aa3c3;font:700 10px ui-monospace,SFMono-Regular,monospace}.dq-rule p{flex:1;margin:0}.dq-rule strong,.dq-rule span{display:block}.dq-rule strong{color:#29415f;font-size:12px}.dq-rule span{margin-top:3px;color:#8090a5;font-size:10px}.dq-rule svg{color:#2c966b}.dq-privacy{display:flex;gap:10px;margin-top:19px;padding:12px;border-radius:9px;color:#426481;background:#eef7fa}.dq-privacy svg{flex:0 0 auto;color:#237b84}.dq-privacy p{margin:0;font-size:10px;line-height:1.55}.dq-privacy b{display:block;color:#26737f;font-size:11px}.dq-footer{display:flex;justify-content:space-between;margin-top:26px;padding:16px 0 0;border-top:1px solid #dfe6ee;color:#76899f;font-size:10px}.dq-footer span{color:#99a8b9}.dq-toast{position:fixed;z-index:5;bottom:18px;right:18px;display:flex;align-items:center;gap:16px;max-width:min(430px,calc(100% - 32px));padding:12px 12px 12px 15px;border:1px solid #b9cfec;border-radius:9px;color:#21426d;background:#f9fcff;box-shadow:0 15px 35px #1337662e;font-size:12px}.dq-toast button{display:grid;width:22px;height:22px;place-items:center;border:0;border-radius:5px;color:#58718e;background:transparent}.dq-finding{grid-template-columns:47px 42px 1fr}.dq-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:19px}.dq-overview-card{padding:16px;border:1px solid #e1e9f2;border-radius:9px;background:#f8fbff}.dq-overview-card span{color:#7289a8;font-size:11px}.dq-overview-card strong{display:block;margin-top:6px;color:#1d5fac;font-size:29px;letter-spacing:-.06em}.dq-overview-card p{margin:7px 0 0;color:#71839b;font-size:11px;line-height:1.5}.dq-overview-list{grid-column:1 / -1;display:grid;gap:10px;padding-top:4px}.dq-overview-list>div{display:grid;gap:5px}.dq-overview-list p{display:flex;justify-content:space-between;margin:0;color:#2a4664;font-size:12px}.dq-overview-list p span{color:#7c8fa8;font-size:10px}.dq-overview-list i{display:block;height:5px;overflow:hidden;border-radius:99px;background:#eaf0f7}.dq-overview-list em{display:block;height:100%;border-radius:inherit;background:#5a9bea}.dq-mapping-note{margin:14px 0 -4px;color:#7488a1;font-size:11px}.dq-consult-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:25px;padding:24px 26px;border:1px solid #cfe0f5;border-radius:14px;background:#f7fbff}.dq-consult-cta span{color:#5180bb;font-size:10px;font-weight:800;letter-spacing:.12em}.dq-consult-cta h2{margin:5px 0 0;color:#18395f;font-size:21px;letter-spacing:-.045em}.dq-consult-cta p{max-width:610px;margin:8px 0 0;color:#657b96;font-size:12px;line-height:1.55}.dq-consult-cta a{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;min-height:42px;padding:0 14px;border-radius:8px;color:#fff;background:#1b64c1;box-shadow:0 8px 16px #1754a629;text-decoration:none;font-size:12px;font-weight:800}.dq-consult-cta a:hover{background:#124f9f}@media(max-width:1050px){.dq-app{grid-template-columns:190px minmax(0,1fr)}.dq-main{padding:26px 24px 18px}.dq-readiness-copy{max-width:60%}.dq-orbit{right:5%}.dq-workspace{grid-template-columns:1fr}.dq-rule-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.dq-rule-panel>.dq-section-heading,.dq-rule-panel>.dq-privacy{grid-column:1 / -1}}@media(max-width:760px){.dq-app{display:block}.dq-rail{position:relative;height:auto;min-height:76px;padding:14px 16px}.dq-brand{padding:0}.dq-rail-label,.dq-rail nav,.dq-rail-bottom{display:none}.dq-main{padding:22px 15px 16px}.dq-topbar,.dq-command-bar{align-items:flex-start;flex-direction:column}.dq-topbar h1{font-size:27px}.dq-top-actions{width:100%;justify-content:space-between}.dq-command-bar{padding:12px}.dq-command-actions{width:100%}.dq-command-actions button{flex:1;justify-content:center}.dq-hero-grid,.dq-metrics{grid-template-columns:1fr}.dq-readiness-copy{max-width:64%}.dq-readiness h2{font-size:54px}.dq-orbit{right:6%;top:42px;width:96px;height:96px}.dq-orbit span{font-size:23px}.dq-stage-line{left:20px;right:20px}.dq-workspace{margin-top:16px}.dq-issue-panel,.dq-rule-panel{padding:17px}.dq-section-heading{align-items:flex-start;flex-direction:column}.dq-filter{flex-wrap:wrap}.dq-mapping-list>div{grid-template-columns:67px 15px 67px 1fr 17px;gap:5px}.dq-mapping-list p{font-size:10px}.dq-rule-panel{display:block}.dq-footer{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:760px){.dq-consult-cta{align-items:flex-start;flex-direction:column;padding:21px}.dq-consult-cta a{width:100%;justify-content:center}.dq-overview{grid-template-columns:1fr}.dq-overview-list{grid-column:auto}}.dq-topbar{align-items:center;min-height:76px;margin-bottom:18px;padding:0 4px}.dq-kicker,.dq-section-heading>div>span,.dq-panel-heading span{color:#2563eb}.dq-topbar h1,.dq-panel-heading h2,.dq-section-heading h2{color:#0f172a}.dq-primary,.dq-consult-cta a{border-color:#2563eb;border-radius:10px;background:#2563eb;box-shadow:none}.dq-primary:hover,.dq-consult-cta a:hover{background:#1d4ed8}.dq-command-bar{border-color:#e2e8f0;border-radius:16px;background:#fff;box-shadow:0 1px 2px #0f172a08}.dq-command-actions button{border-color:#e2e8f0;border-radius:10px;color:#475569;background:#fff}.dq-command-actions button:hover{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.dq-source-icon{color:#2563eb;background:#eff6ff}.dq-source b,.dq-metric strong,.dq-finding b,.dq-rule strong{color:#0f172a}.dq-local{color:#047857;background:#ecfdf5}.dq-readiness{border:1px solid #173f80;border-radius:16px;background:#173f80;background-image:none;box-shadow:none}.dq-readiness:after{border-color:#bfdbfe40;box-shadow:0 0 0 36px #bfdbfe0d,0 0 0 72px #bfdbfe08}.dq-orbit{background:conic-gradient(#93c5fd var(--score),rgba(255,255,255,.14) 0)}.dq-orbit:before{background:#173f80}.dq-signal-panel,.dq-issue-panel,.dq-rule-panel{border-color:#e2e8f0;border-radius:16px;background:#fff;box-shadow:0 1px 2px #0f172a08}.dq-panel-heading{color:#2563eb}.dq-signal-list>div,.dq-finding,.dq-mapping-list>div,.dq-rule{border-color:#e2e8f0}.dq-metrics{gap:14px}.dq-metric{padding:17px;border:1px solid #e2e8f0;border-top:2px solid #cbd5e1;border-radius:16px;background:#fff}.dq-metric-blue{border-top-color:#60a5fa}.dq-metric-red{border-top-color:#fca5a5}.dq-filter button{border-radius:8px}.dq-filter button.selected{color:#1d4ed8;background:#eff6ff}.dq-overview-card{border-color:#e2e8f0;border-radius:12px;background:#f8fafc}.dq-overview-card strong{color:#2563eb}.dq-mapping-list code{color:#1d4ed8;background:#eff6ff}.dq-privacy{border:1px solid #dbeafe;border-radius:12px;color:#475569;background:#eff6ff}.dq-privacy svg,.dq-privacy b{color:#1d4ed8}.dq-consult-cta{border-color:#bfdbfe;border-radius:16px;background:#eff6ff}.dq-consult-cta span{color:#2563eb}.dq-consult-cta h2{color:#0f172a}.dq-footer{border-color:#e2e8f0;color:#64748b}.dq-toast{border-color:#bfdbfe;border-radius:12px;color:#1e3a8a;background:#fff;box-shadow:0 16px 35px #0f172a24}@media(max-width:760px){.dq-app{display:block}.dq-rail{position:fixed;inset:0 auto 0 0;z-index:50;width:240px;height:100dvh;min-height:0;padding:0;border-right:1px solid #e2e8f0;border-bottom:0;box-shadow:0 20px 40px #0f172a2e;transform:translate(-100%);transition:transform .2s ease}.dq-rail.is-open{transform:translate(0)}.dq-brand{padding:20px}.dq-rail nav{display:grid}.dq-rail-bottom{display:grid}.dq-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:block;width:100%;height:100%;border:0;background:#0f172a59}.dq-menu-close,.dq-menu-toggle{display:grid;width:38px;height:38px;place-items:center;border:1px solid #e2e8f0;border-radius:10px;color:#475569;background:#fff}.dq-menu-close{position:absolute;top:12px;right:12px}.dq-topbar-copy{align-items:flex-start}.dq-menu-toggle{flex:0 0 auto;margin-top:2px}.dq-topbar{min-height:auto;padding:0}}
